type Comparator<K> = (a: K, b: K) => number;
export declare class BTreeSet<K> {
    #private;
    size: number;
    readonly comparator: Comparator<K>;
    constructor(comparator: Comparator<K>, entries?: IterableIterator<K>);
    /** Releases the tree so that its size is 0. */
    clear(): void;
    clone(): BTreeSet<K>;
    get(key: K): K | undefined;
    add(key: K): this;
    /**
     * Returns true if the key exists in the B+ tree, false if not.
     * Use get() for best performance; use has() if you need to
     * distinguish between "undefined value" and "key not present".
     * @param key Key to detect
     * @description Computational complexity: O(log size)
     */
    has(key: K): boolean;
    /**
     * Removes a single key-value pair from the B+ tree.
     * @param key Key to find
     * @returns true if a pair was found and removed, false otherwise.
     * @description Computational complexity: O(log size)
     */
    delete(key: K): boolean;
    keys(): IterableIterator<K>;
    values(): IterableIterator<K>;
    valuesFrom(lowestKey?: K, inclusive?: boolean): IterableIterator<K>;
    valuesReversed(): IterableIterator<K>;
    valuesFromReversed(highestKey?: K, inclusive?: boolean): IterableIterator<K>;
    [Symbol.iterator](): IterableIterator<K>;
}
export {};
//# sourceMappingURL=btree-set.d.ts.map