export = StackedCacheMap; /** * @template K * @template V */ declare class StackedCacheMap { /** @type {Map} */ map: Map; /** @type {ReadonlyMap[]} */ stack: ReadonlyMap[]; /** * @param {ReadonlyMap} map map to add * @param {boolean=} immutable if 'map' is immutable and StackedCacheMap can keep referencing it */ addAll(map: ReadonlyMap, immutable?: boolean | undefined): void; /** * @param {K} item the key of the element to add * @param {V} value the value of the element to add * @returns {void} */ set(item: K, value: V): void; /** * @param {K} item the item to delete * @returns {void} */ delete(item: K): void; /** * @param {K} item the item to test * @returns {boolean} true if the item exists in this set */ has(item: K): boolean; /** * @param {K} item the key of the element to return * @returns {V} the value of the element */ get(item: K): V; clear(): void; /** * @returns {number} size of the map */ get size(): number; /** * @returns {Iterator<[K, V]>} iterator */ [Symbol.iterator](): Iterator<[K, V]>; }