/** * from https://github.com/microsoft/vscode/blob/e587755905208e47725c5196539c4ca898255fe6/src/vs/base/common/map.ts */ export declare const enum Touch { None = 0, AsOld = 1, AsNew = 2 } export declare class LinkedMap implements Map { readonly [Symbol.toStringTag] = "LinkedMap"; private _map; private _head; private _tail; private _size; private _state; constructor(); clear(): void; isEmpty(): boolean; get size(): number; get first(): V | undefined; get last(): V | undefined; has(key: K): boolean; get(key: K, touch?: Touch): V | undefined; set(key: K, value: V, touch?: Touch): this; delete(key: K): boolean; remove(key: K): V | undefined; shift(): V | undefined; forEach(callbackfn: (value: V, key: K, map: LinkedMap) => void, thisArg?: any): void; keys(): IterableIterator; values(): IterableIterator; entries(): IterableIterator<[K, V]>; [Symbol.iterator](): IterableIterator<[K, V]>; protected trimOld(newSize: number): void; private addItemFirst; private addItemLast; private removeItem; private touch; toJSON(): [K, V][]; fromJSON(data: [K, V][]): void; }