export declare class MapDef extends Map { private readonly getDefault; constructor(getDefault: () => V); getOrDefault(key: K): V; } /** * Extends MapDef but ensures that there always a max of `maxKeys` keys */ export declare class MapDefMax { private readonly getDefault; private readonly maxKeys; private readonly map; constructor(getDefault: () => V, maxKeys: number); getOrDefault(key: K): V; get(key: K): V | undefined; } /** * 2 dimensions Es6 Map */ export declare class Map2d { readonly map: Map>; get(k1: K1, k2: K2): V | undefined; set(k1: K1, k2: K2, v: V): void; } /** * 2 dimensions Es6 Map + regular array */ export declare class Map2dArr { readonly map: Map; get(k1: K1, idx: number): V | undefined; set(k1: K1, idx: number, v: V): void; } /** * Prune an arbitrary set removing the first keys to have a set.size === maxItems. * Returns the count of deleted items. * * Keys can be sorted by `compareFn` to get more control over which items to prune first */ export declare function pruneSetToMax(set: Set | Map, maxItems: number, compareFn?: (a: T, b: T) => number): number; //# sourceMappingURL=map.d.ts.map