export interface CacheEntry { data: T; timestamp: number; hits: number; } export interface CacheStats { hits: number; misses: number; size: number; oldestEntry?: number; newestEntry?: number; } export interface CacheConfig { ttl?: number; maxSize?: number; cleanupInterval?: number; } export declare class LocalCache { private cache; private stats; private ttl; private maxSize; private cleanupInterval; private cleanupTimer; constructor(config?: CacheConfig); private startCleanup; private stopCleanup; get(key: string): T | null; set(key: string, data: T): void; has(key: string): boolean; delete(key: string): boolean; clear(): void; cleanup(): number; private evictOldest; getStats(): CacheStats; keys(): string[]; values(): T[]; entries(): Array<[string, T]>; getHitRate(): number; destroy(): void; } export declare class SingleValueCache { private data; private timestamp; private ttl; private hits; private misses; constructor(config?: { ttl?: number; }); get(): T | null; set(data: T): void; has(): boolean; clear(): void; getAge(): number; getStats(): { hits: number; misses: number; hasData: boolean; age: number; }; getHitRate(): number; } export declare function withCache(cache: LocalCache | SingleValueCache, key: string | null, fetcher: () => Promise): Promise; export declare function createCache(config?: CacheConfig): LocalCache; export declare function createSingleValueCache(config?: { ttl?: number; }): SingleValueCache; //# sourceMappingURL=local-cache.d.ts.map