export default class VolumeCache { private entries; readonly maxSize: number; private currentSize; private first; private last; constructor(maxSize?: number); /** The size of all data arrays currently stored in this cache, in bytes. */ get size(): number; /** The number of entries currently stored in this cache. */ get numberOfEntries(): number; /** * Removes an entry from a store but NOT the LRU list. * Only call from a method with the word "evict" in it! */ private removeEntryFromStore; /** * Removes an entry from the LRU list but NOT its store. * Entry must be replaced in list or removed from store, or it will never be evicted! */ private removeEntryFromList; /** Adds an entry which is *not currently in the list* to the front of the list. */ private addEntryAsFirst; /** Moves an entry which is *currently in the list* to the front of the list. */ private moveEntryToFirst; /** Evicts the least recently used entry from the cache. */ private evictLast; /** Evicts a specific entry from the cache. */ private evict; /** * Adds a new entry to the cache. * @returns {boolean} a boolean indicating whether the insertion succeeded. */ insert(key: string, data: ArrayBuffer): boolean; /** Internal implementation of `get`. Returns all entry metadata, not just the raw data. */ private getEntry; /** Attempts to get a single entry from the cache. */ get(key: string): ArrayBuffer | undefined; /** Clears all cache entries whose keys begin with the specified prefix. */ clearWithPrefix(prefix: string): void; /** Clears all data from the cache. */ clear(): void; }