export interface LRUCacheConfig { /** Maximum number of cached entries (default: 1000) */ maxSize?: number; /** Time-to-live in milliseconds (default: 300_000 = 5 minutes) */ ttlMs?: number; } export declare class ScanLRUCache { private cache; private readonly maxSize; private readonly ttlMs; constructor(config?: LRUCacheConfig); /** Get a cached value. Returns undefined on miss or expiry. Promotes to MRU on hit. */ get(key: string): V | undefined; /** Store a value. Evicts LRU entry if at capacity. */ set(key: string, value: V): void; /** Check if key exists and is not expired */ has(key: string): boolean; /** Delete a specific key */ delete(key: string): boolean; /** Clear all entries */ clear(): void; /** Current number of entries (may include expired) */ get size(): number; /** Remove all expired entries. Returns count of removed entries. */ prune(): number; } //# sourceMappingURL=lru.d.ts.map