/** * Cache manager for research API responses * * @module research/cache/manager */ /** * Cache configuration */ export interface CacheConfig { /** Cache directory path */ cacheDir: string; /** Default TTL in seconds */ defaultTtl: number; /** TTL per endpoint type */ ttlByEndpoint?: Record; } /** * Cache manager for file-based caching */ export declare class CacheManager { private config; constructor(config?: Partial); /** * Get cached data */ get(key: string): Promise; /** * Set cached data */ set(key: string, data: T, endpoint?: string): Promise; /** * Delete cached data */ delete(key: string): Promise; /** * Clear all cache */ clear(): Promise; /** * Clear expired entries */ clearExpired(): Promise; /** * Get cache statistics */ getStats(): Promise<{ totalEntries: number; expiredEntries: number; sizeBytes: number; }>; /** * Generate cache key from input */ generateKey(endpoint: string, params: Record): string; /** * Check if cache entry is expired */ private isExpired; /** * Get file path for cache key */ private getFilePath; /** * Ensure directory exists */ private ensureDir; /** * List all cache files */ private listCacheFiles; } //# sourceMappingURL=manager.d.ts.map