/** * SMI-585: L1 In-Memory LRU Cache * Fast in-memory cache for frequently accessed search results */ export interface SearchCacheEntry { results: SearchResult[]; totalCount: number; timestamp: number; } export interface SearchResult { id: string; name: string; description: string; score: number; source: string; } export interface CacheStats { hits: number; misses: number; hitRate: number; size: number; maxSize: number; } export declare class L1Cache { private cache; private hits; private misses; constructor(maxSize?: number); /** * Generate cache key from query and filters */ static generateKey(query: string, filters?: Record): string; /** * Get cached search results */ get(key: string): SearchCacheEntry | undefined; /** * Store search results in cache */ set(key: string, results: SearchResult[], totalCount: number): void; /** * Check if key exists in cache */ has(key: string): boolean; /** * Delete specific cache entry */ delete(key: string): boolean; /** * Clear all cache entries */ clear(): void; /** * Invalidate all search-related entries * Called when the skill index is updated */ invalidateAll(): void; /** * Get cache statistics */ getStats(): CacheStats; /** * Prune expired entries */ prune(): void; } export default L1Cache; //# sourceMappingURL=lru.d.ts.map