/** * LRU Cache Store with Disk Persistence * * Provides in-memory caching using lru-cache with: * - LRU eviction when max size reached * - TTL (time-to-live) support * - Automatic disk persistence for durability * - Tag-based invalidation * - Zero external dependencies (no Redis server required) * * Persists cache state to JSON file periodically and on close. */ import { ICacheStore } from '../interfaces'; export declare class LRUCacheStore implements ICacheStore { private flushIntervalSeconds; private maxSize; private cache; private dataDir; private dbPath; private isDirty; private flushTimer; private hits; private misses; constructor(dataDir: string, flushIntervalSeconds?: number, maxSize?: number); private loadFromDisk; private saveToDisk; private startFlushTimer; get(key: string): Promise; set(key: string, value: T, ttlSeconds?: number): Promise; setWithTags(key: string, value: T, tags: string[], ttlSeconds?: number): Promise; delete(key: string): Promise; has(key: string): Promise; deletePattern(pattern: string): Promise; deleteByTag(tag: string): Promise; clear(): Promise; stats(): Promise<{ size: number; hits: number; misses: number; }>; flush(): Promise; close(): Promise; } //# sourceMappingURL=lru-cache-store.d.ts.map