/** * Preemptive Caching * Caches data before it's needed based on predictions */ export interface CacheEntry { data: T; timestamp: number; priority: 'low' | 'normal' | 'high' | 'critical'; accessCount: number; expiry: number; } export interface CacheConfig { maxSize: number; defaultTTL: number; cleanupThreshold: number; } export declare class PreemptiveCache { private cache; private config; private accessHistory; constructor(config?: Partial); /** * Preemptively cache data with priority */ preemptiveCache(index: number, data: T, priority?: 'low' | 'normal' | 'high' | 'critical'): void; /** * Get cached data */ get(index: number): T | null; /** * Check if data is cached */ has(index: number): boolean; /** * Get cached data for range */ getRange(startIndex: number, endIndex: number): T[]; /** * Delete cached data */ delete(index: number): boolean; /** * Clear cache */ clear(): void; /** * Cleanup old/low-priority entries */ cleanup(): void; /** * Track access for analytics */ private trackAccess; /** * Get cache statistics */ getStats(): { size: number; maxSize: number; hitRate: number; avgAccessCount: number; byPriority: { critical: number; high: number; normal: number; low: number; }; }; /** * Get all cached indices */ getCachedIndices(): number[]; /** * Preemptively cache range */ cacheRange(startIndex: number, endIndex: number, dataFetcher: (index: number) => T, priority?: 'low' | 'normal' | 'high' | 'critical'): void; /** * Get memory usage estimate */ getMemoryUsage(): number; } export default PreemptiveCache; //# sourceMappingURL=PreemptiveCache.d.ts.map