/// import { EventEmitter } from 'events'; interface ExpiringMapOptions { /** Default is unlimited */ maxCapacity?: number; /** * Whether return expired value on `get()`. Default is `false`. *
* Expired entries will not be auto cleared if it's set to `true`. */ getExpiredValue?: boolean; /** * Whether update timestamp (prolong expire time) on `get()`. Default is `false`. *
* Iterator functions (including `entries`, `keys`, `values`) will never update timestamp. */ updateTimestampOnGet?: boolean; } declare class ExpiringMap extends EventEmitter { private readonly ttl; private readonly map; private begin?; private end?; private readonly options; constructor(ttl: number, options?: ExpiringMapOptions); set(key: K, value: V): V; /** * * @deprecated deprecated since version 10.1.5, this interface still return true when a item is expired */ has(key: K): boolean; get(key: K): V | undefined; getOrSet(key: K, defaultValue: V): V; delete(key: K): boolean; clear(): void; readonly size: number; /** * Clear all expired entries. * @time default to now * @return true if any entry being deleted */ clearExpired(time?: number): boolean; /** Expired entries are included */ [Symbol.iterator](): Iterator<[K, V]>; /** Expired entries are included */ entries(): Iterable<[K, V]>; /** Expired entries are included */ keys(): Iterable; /** Expired entries are included */ values(): Iterable; private _deleteOldestNode; private _entries; private _keys; private _values; private _newNode; private _updateNodeTime; private _eraseNode; } export { ExpiringMapOptions, ExpiringMap, };