import { ProviderSource } from "../types/index.ts"; export declare class Cache { private storage; private autoCleanupInterval; private maxSize; /** * @param maxSize Maximum number of entries before LRU-style eviction kicks in. * Defaults to 10,000. Set to `Infinity` to disable eviction. */ constructor(maxSize?: number); set(key: string, data: T, ttl: number): void; get(key: string): G | null; delete(key: string): void; clear(): void; get size(): number; has(key: string): boolean; isExpired(key: string): boolean; setMaxSize(maxSize: number): void; private startAutoCleanup; /** Stop the auto-cleanup interval. Call this when the cache is no longer needed. */ stopAutoCleanup(): void; private clearExpired; } export declare function createSourceCacheKey(source: ProviderSource): string; export declare const createHealthCacheKey: (source: ProviderSource) => string; export declare function isSourceCached(source: ProviderSource): boolean; export declare const CACHE: Cache;