import { Logger } from '../logger.js'; interface CacheEntry { url: string; method: string; headers: Record; body?: string; response: { status: number; headers: Record; body: string; }; timestamp: number; expiresAt: number; } interface CacheOptions { maxAge?: number; maxSize?: number; cacheDir?: string; } export declare class RequestCache { private cache; private logger; private options; private currentSize; constructor(logger: Logger, options?: CacheOptions); private initializeCache; private loadCacheFromDisk; private getCacheKey; private calculateEntrySize; private saveEntryToDisk; private removeEntryFromDisk; private cleanup; get(url: string, method: string, headers: Record): Promise; set(url: string, method: string, headers: Record, response: CacheEntry['response'], body?: string): Promise; clear(): Promise; getMetrics(): { size: number; entryCount: number; hitRate: number; maxSize: number; }; } export {};