| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | declare namespace QuickLRU {	interface Options {		/**		The maximum number of items before evicting the least recently used items.		*/		readonly maxSize: number;	}}declare class QuickLRU<KeyType extends unknown, ValueType extends unknown>	implements Iterable<[KeyType, ValueType]> {	/**	The stored item count.	*/	readonly size: number;	/**	Simple ["Least Recently Used" (LRU) cache](https://en.m.wikipedia.org/wiki/Cache_replacement_policies#Least_Recently_Used_.28LRU.29).	The instance is [`iterable`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols) so you can use it directly in a [`for…of`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of) loop.	@example	```	import QuickLRU = require('quick-lru');	const lru = new QuickLRU({maxSize: 1000});	lru.set('🦄', '🌈');	lru.has('🦄');	//=> true	lru.get('🦄');	//=> '🌈'	```	*/	constructor(options: QuickLRU.Options);	[Symbol.iterator](): IterableIterator<[KeyType, ValueType]>;	/**	Set an item.	@returns The list instance.	*/	set(key: KeyType, value: ValueType): this;	/**	Get an item.	@returns The stored item or `undefined`.	*/	get(key: KeyType): ValueType | undefined;	/**	Check if an item exists.	*/	has(key: KeyType): boolean;	/**	Get an item without marking it as recently used.	@returns The stored item or `undefined`.	*/	peek(key: KeyType): ValueType | undefined;	/**	Delete an item.	@returns `true` if the item is removed or `false` if the item doesn't exist.	*/	delete(key: KeyType): boolean;	/**	Delete all items.	*/	clear(): void;	/**	Iterable for all the keys.	*/	keys(): IterableIterator<KeyType>;	/**	Iterable for all the values.	*/	values(): IterableIterator<ValueType>;}export = QuickLRU;
 |