/** * In-memory URL cache with 15-minute TTL for WebFetch tool. * * Keyed by URL. Cached entries include the converted markdown content * so repeated fetches skip both the HTTP request and HTML conversion. * * Self-cleaning: expired entries are removed on access and periodically. */ export interface CacheEntry { content: string; fetchedAt: number; statusCode: number; finalUrl: string; } export declare class WebFetchCache { private readonly cache; private readonly ttlMs; private cleanupTimer; constructor(ttlMs?: number); /** * Get a cached entry for a URL, or undefined if not cached or expired. */ get(url: string): CacheEntry | undefined; /** * Store a cache entry for a URL. */ set(url: string, entry: CacheEntry): void; /** * Check if a URL has a valid (non-expired) cache entry. */ has(url: string): boolean; /** * Remove expired entries. */ cleanup(): void; /** * Clear all cached entries. */ clear(): void; /** * Stop the cleanup timer. Call on shutdown. */ destroy(): void; /** * Get the number of cached entries (for diagnostics). */ get size(): number; } //# sourceMappingURL=cache.d.ts.map