/** * LRU Cache for search results * Improves search performance by caching common queries */ export interface CacheEntry { value: T; timestamp: number; hits: number; } export interface CacheStats { size: number; maxSize: number; hits: number; misses: number; hitRate: number; } /** * LRU (Least Recently Used) Cache * Automatically evicts least recently used entries when full */ export declare class LRUCache { private cache; private maxSize; private ttl; private hits; private misses; constructor(maxSize?: number, ttlMinutes?: number); /** * Get value from cache */ get(key: string): T | undefined; /** * Set value in cache */ set(key: string, value: T): void; /** * Clear all cache entries */ clear(): void; /** * Invalidate cache (clear all entries) * Call this when the index is updated */ invalidate(): void; /** * Get cache statistics */ stats(): CacheStats; /** * Remove expired entries */ cleanup(): void; } /** * Create a cache key from search parameters */ export declare function createCacheKey(query: string, options?: { limit?: number; fileExtensions?: string[]; pathFilter?: string; excludePaths?: string[]; }): string; //# sourceMappingURL=search-cache.d.ts.map