--- /dev/null
+from _typeshed import SupportsLessThan
+from typing import Any, Callable, Iterable, TypeVar
+
+_T = TypeVar("_T")
+
+def heappush(__heap: list[_T], __item: _T) -> None: ...
+def heappop(__heap: list[_T]) -> _T: ...
+def heappushpop(__heap: list[_T], __item: _T) -> _T: ...
+def heapify(__heap: list[Any]) -> None: ...
+def heapreplace(__heap: list[_T], __item: _T) -> _T: ...
+def merge(*iterables: Iterable[_T], key: Callable[[_T], Any] | None = ..., reverse: bool = ...) -> Iterable[_T]: ...
+def nlargest(n: int, iterable: Iterable[_T], key: Callable[[_T], SupportsLessThan] | None = ...) -> list[_T]: ...
+def nsmallest(n: int, iterable: Iterable[_T], key: Callable[[_T], SupportsLessThan] | None = ...) -> list[_T]: ...
+def _heapify_max(__x: list[Any]) -> None: ... # undocumented