/**
* A doubly linked list-based Least Recently Used (LRU) cache. Will keep most
* recently used items while discarding least recently used items when its limit
* is reached.
*
* Licensed under MIT. Copyright (c) 2010 Rasmus Andersson
* See README.md for details.
*
* Illustration of the design:
*
* entry entry entry entry
* ______ ______ ______ ______
* | head |.newer => | |.newer => | |.newer => | tail |
* | A | | B | | C | | D |
* |______| <= older.|______| <= older.|______| <= older.|______|
*
* removed <-- <-- <-- <-- <-- <-- <-- <-- <-- <-- <-- added
*/
export declare class LRUMap {
size: number;
limit: number;
oldest: any;
newest: any;
_keymap: Map;
constructor(limit: number, entries?: any);
private _markEntryAsUsed;
assign(entries: any): void;
get(key: K): V;
set(key: K, value: V): this;
shift(): any[];
find(key: K): V;
has(key: K): boolean;
delete(key: any): V;
clear(): void;
keys(): KeyIterator;
values(): ValueIterator;
entries(): void;
forEach(fun: (value: any, key: any, ctx: object) => void, thisObj: any): void;
toJSON(): any[];
toString(): string;
[Symbol.iterator](): EntryIterator;
}
declare class EntryIterator {
entry: any;
constructor(oldestEntry: any);
[Symbol.iterator](): this;
next(): {
done: boolean;
value: any[];
};
}
declare class KeyIterator {
entry: any;
constructor(oldestEntry: any);
[Symbol.iterator](): this;
next(): {
done: boolean;
value: any;
};
}
declare class ValueIterator {
entry: any;
constructor(oldestEntry: any);
[Symbol.iterator](): this;
next(): {
done: boolean;
value: any;
};
}
export {};