import { Node } from './node'; export declare class MinHeap { protected _nodes: Array>; constructor(heap?: MinHeap); push(key: K, value: T): void; pop(): { key: K; value: T; } | undefined; peek(): { key: K; value: T; } | undefined; clone(): MinHeap; clear(): void; get count(): number; get keys(): ReadonlyArray; get values(): ReadonlyArray; protected _moveUp(originalIndex: number): void; protected _moveDown(originalIndex: number): void; protected _parentIndex(index: number): number; protected _leftChildIndex(index: number): number; protected _rightChildIndex(index: number): number; private _insertAll; private _insertAllFromHeap; }