import heapq

__all__ = ["MappedQueue"]

class _HeapElement:
    __slots__: list = ...

    def __init__(self, priority, element): ...
    def __lt__(self, other): ...
    def __gt__(self, other): ...
    def __eq__(self, other): ...
    def __hash__(self): ...
    def __getitem__(self, indx): ...
    def __iter__(self): ...
    def __repr__(self): ...

class MappedQueue:
    def __init__(self, data=[]): ...
    def _heapify(self): ...
    def __len__(self): ...
    def push(self, elt, priority=None): ...
    def pop(self): ...
    def update(self, elt, new, priority=None): ...
    def remove(self, elt): ...
    def _siftup(self, pos): ...
    def _siftdown(self, start_pos, pos): ...
