export interface Hashable { hash(): number; equals(other: Hashable): boolean; /** Optional string key used as a secondary lookup index in EqualityMap. */ key?: string; } export declare const CACHE_KEY_SEPARATOR = "::"; export declare class EqualityMap { private readonly buckets; private _size; private readonly equals; private readonly keyExtractor?; private readonly keyMap?; constructor(source?: EqualityMap, keyExtractor?: (k: K) => string | undefined); has(key: K): boolean; get(key: K): V | null | undefined; private syncKeyIndex; set(key: K, value: V | null | undefined): this; setAll(source: EqualityMap): this; delete(key: K): boolean; get size(): number; clear(): void; getOrCompute(key: K, computeFn: (key: K) => V | null): V | null; keys(): IterableIterator; values(): IterableIterator; tuples(): IterableIterator<[K, V | null | undefined]>; getByKey(stringKey: string): K | undefined; }