export declare function resetCounters(): void; export declare function getHitsForTest(): number; export declare function getMissesForTest(): number; export interface CacheEntry { key: string; url: string; prompt: string; model: string; answer: string; fetchedAt: number; ttlMinutes: number; } export interface CacheStats { entries: number; hits: number; misses: number; oldest: number | null; newest: number | null; sizeBytes: number; ttlMinutes: number; ok: boolean; } export declare function getCacheKey(url: string, prompt: string, model: string): string; export interface PurgeExpiredResult { removed: number; remaining: number; saved: boolean; } export declare function clearCache(cacheFilePath: string): boolean; export declare function purgeExpired(cacheFilePath: string): PurgeExpiredResult; export declare function getCached(url: string, prompt: string, model: string, _ttlMinutes: number, cacheFilePath: string): string | null; export declare function getCachedForModels(url: string, prompt: string, models: readonly string[], _ttlMinutes: number, cacheFilePath: string): string | null; export declare function getCacheStats(cacheFilePath: string, ttlMinutes: number): CacheStats; export declare function putCache(url: string, prompt: string, model: string, answer: string, ttlMinutes: number, cacheFilePath: string): void;