/** * API caching implementation for reducing redundant network requests. * Backed by a shared LRU cache to prevent unbounded memory growth. */ import { type CacheStats } from './LRUCache.js'; export interface APICacheOptions { maxEntries?: number; maxMemoryMB?: number; ttlMs?: number; onEviction?: (key: string, value: any) => void; } export declare class APICache { private cache; constructor(options?: APICacheOptions); /** * Retrieve cached data if still valid. */ get(key: string): T | null; /** * Cache data with automatic eviction and TTL handling. */ set(key: string, data: T): void; /** * Clear all cached entries. */ clear(): void; /** * Get current cache size. */ size(): number; /** * Inspect cache statistics for observability/testing. */ getStats(): CacheStats; } //# sourceMappingURL=APICache.d.ts.map