import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; /** * Cache service for geocoding responses */ export declare class OpenCageCacheService { private cache; private accessOrder; private maxSize; private accessCounter; /** * Get item from cache */ get(key: string): T | null; /** * Set item in cache */ set(key: string, data: T, ttl: number): void; /** * Delete item from cache */ delete(key: string): boolean; /** * Clear all cache entries */ clear(): void; /** * Check if key exists in cache (and is not expired) */ has(key: string): boolean; /** * Get cache statistics */ getStats(): { size: number; maxSize: number; hitRate: number; memoryUsage: number; }; /** * Clean expired entries */ cleanup(): number; /** * Set maximum cache size */ setMaxSize(size: number): void; /** * Get or set with observable support */ getOrSet(key: string, factory: () => Observable, ttl: number): Observable; /** * Create cache key for geocoding requests */ createKey(query: string, options?: any): string; /** * Create cache key for reverse geocoding requests */ createReverseKey(lat: number, lng: number, options?: any): string; /** * Evict least recently used entry */ private evictLRU; /** * Calculate cache hit rate (simplified) */ private calculateHitRate; /** * Estimate memory usage (simplified) */ private estimateMemoryUsage; /** * Sort object keys for consistent cache keys */ private sortObject; /** * Periodic cleanup task */ startPeriodicCleanup(intervalMs?: number): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }