import { ICache, CacheStats, CacheConfig } from '../../domain/services/caching/interfaces'; /** * LRU (Least Recently Used) Cache Implementation * Evicts least recently accessed items when cache is full */ export declare class LruCache implements ICache { private cache; private accessOrder; private config; private stats; constructor(config?: CacheConfig); /** * Get a value from cache */ get(key: string): Promise; /** * Set a value in cache */ set(key: string, value: T, ttl?: number): Promise; /** * Delete a value from cache */ delete(key: string): Promise; /** * Check if key exists in cache */ has(key: string): Promise; /** * Clear all cache entries */ clear(): Promise; /** * Get cache size (number of entries) */ size(): Promise; /** * Get all cache keys */ keys(): Promise; /** * Get cache statistics */ getStats(): Promise; /** * Get cache configuration */ getConfig(): CacheConfig; /** * Set cache configuration */ setConfig(config: Partial): void; /** * Cleanup expired entries */ cleanup(): Promise; /** * Close cache and cleanup resources */ close(): Promise; private isExpired; private evictIfNecessary; private evictBySize; private evictByCount; private estimateSize; private startCleanupTimer; private stopCleanupTimer; private resetStats; } //# sourceMappingURL=LruCache.d.ts.map