export declare class DeterministicMap<K, V> {
    #private;
    private compareFn;
    private map;
    constructor(compareFn: (a: K, b: K) => number);
    get size(): number;
    static fromMap<K, V>(map: Map<K, V>, compareFn: (a: K, b: K) => number): DeterministicMap<K, V>;
    set(key: K, value: V): void;
    get(key: K): V | undefined;
    keys(): IterableIterator<K>;
    values(): IterableIterator<V>;
    has(key: K): boolean;
    delete(key: K): boolean;
    clear(): void;
    forEach(callback: (value: V, key: K, map: DeterministicMap<K, V>) => void): void;
    [Symbol.iterator](): IterableIterator<[K, V]>;
}
