export interface CacheEntry { key: string; value: string; compressedSize: number; originalSize: number; hitCount: number; createdAt: number; lastAccessedAt: number; } export interface CacheStats { totalEntries: number; totalHits: number; totalMisses: number; hitRate: number; totalCompressedSize: number; totalOriginalSize: number; compressionRatio: number; } export declare class CacheEngine { private db; private memoryCache; private dbPath; private stats; constructor(dbPath?: string, maxMemoryItems?: number); /** * Get a value from cache */ get(key: string): string | null; /** * Get a value from cache with metadata (including compression info) */ getWithMetadata(key: string): { content: string; compressedSize: number; } | null; /** * Set a value in cache */ set(key: string, value: string, originalSize: number, compressedSize: number): void; /** * Delete a value from cache */ delete(key: string): boolean; /** * Clear all cache */ clear(): void; /** * Get cache statistics */ getStats(): CacheStats; /** * Evict least recently used entries to stay under size limit */ evictLRU(maxSizeBytes: number): number; /** * Get all cache entries (for debugging/monitoring) */ getAllEntries(): CacheEntry[]; /** * Update hit count and last accessed time */ private updateHitCount; /** * Get the database path currently in use */ getDatabasePath(): string; /** * Close database connection */ close(): void; } //# sourceMappingURL=cache-engine.d.ts.map