import { IDisposable } from '../vs/base/common/lifecycle'; export declare class LRUCache { private readonly _capacity; private readonly _cache; private readonly _head; private readonly _tail; constructor(size?: number); private _addNode; private _removeNode; private _moveToHead; private _popTail; clear(): void; /** * Deletes the cache entry for the given key, if it exists. * @param key The key of the cache entry to delete. * @returns The value of the deleted cache entry, or undefined if the key was not found. */ deleteKey(key: string): T | undefined; get(key: string): T | undefined; /** * Return a copy of all the keys stored in the LRU cache, in LRU order. * * The returned array is safe to modify, as this call allocates a copy of a * private array used to represent those keys. */ keys(): string[]; getValues(): T[]; /** @returns the evicted [key, value] */ put(key: string, value: T): [string, T] | undefined; entries(): Array<[string, T]>; } export declare class DisposablesLRUCache implements IDisposable { private readonly actual; constructor(size?: number); dispose(): void; clear(): void; deleteKey(key: string): void; get(key: string): T | undefined; keys(): string[]; getValues(): T[]; put(key: string, value: T): void; } //# sourceMappingURL=cache.d.ts.map