export class IndexedFloatMaxHeap {
    /**
     * @param {number} id_capacity ids must be in [0, id_capacity)
     * @param {number} [initial_slot_capacity] initial heap slot count (grows on demand)
     */
    constructor(id_capacity: number, initial_slot_capacity?: number);
    __slot_capacity: number;
    __size: number;
    __data_buffer: ArrayBuffer;
    __data_uint32: Uint32Array;
    __data_float32: Float32Array;
    /**
     * Maps id → slot index in [0, size), or SLOT_NOT_PRESENT.
     * @type {Uint32Array}
     */
    __slot_of_id: Uint32Array;
    get size(): number;
    /**
     * Empty the heap. Only resets the index entries that are actually populated,
     * so this is O(size), not O(id_capacity).
     */
    clear(): void;
    contains(id: any): boolean;
    /**
     * Swap the entries at two slot indices, keeping the id→slot index in sync.
     * @private
     */
    private __swap_slots;
    /**
     * Restore heap order downward starting at `start_slot`. Used when an entry's
     * score has just decreased.
     * @private
     */
    private __sift_down;
    /**
     * Restore heap order upward starting at `start_slot`. Used when an entry's
     * score has just increased.
     * @private
     */
    private __sift_up;
    __grow_capacity(): void;
    /**
     * @param {number} id
     * @param {number} score
     */
    insert(id: number, score: number): void;
    /**
     * @returns {number} id of the entry with the largest score, or -1 if empty
     */
    pop_max(): number;
    /**
     * @param {number} id
     * @param {number} new_score
     */
    update(id: number, new_score: number): void;
    /**
     * @param {number} id
     * @returns {boolean} true if the id was present and removed
     */
    remove(id: number): boolean;
}
//# sourceMappingURL=IndexedFloatMaxHeap.d.ts.map