import type IMinHeap from './IMinHeap';
import type IMinHeapOptions from './IMinHeapOptions';
export default class MinHeap<T = number> implements IMinHeap<T> {
    private _data;
    constructor({ lessThanOrEqualTo, inputs }?: IMinHeapOptions<T>);
    get data(): T[];
    get size(): number;
    get isEmpty(): boolean;
    get min(): T | null;
    insert(value: T): T;
    extract(): T | null;
    private readonly _lessThanOrEqualTo;
    private readonly _getLeftIndex;
    private readonly _getRightIndex;
    private readonly _getParentIndex;
    private _siftUp;
    private _siftDown;
    private [Symbol.toPrimitive];
}
