/** * Advanced Caching Types */ export declare enum CacheStrategy { LRU = "lru", LFU = "lfu", FIFO = "fifo", ADAPTIVE = "adaptive", SEMANTIC = "semantic" } export declare enum EvictionPolicy { TIME_BASED = "time_based", SIZE_BASED = "size_based", MEMORY_BASED = "memory_based", PRIORITY_BASED = "priority_based" } export declare enum WarmupStrategy { PRELOAD = "preload", LAZY = "lazy", SCHEDULED = "scheduled", PREDICTIVE = "predictive" } export declare enum InvalidationStrategy { TTL = "ttl", MANUAL = "manual", PATTERN = "pattern", DEPENDENCY = "dependency", EVENT = "event" } export interface CacheEntry { key: string; value: T; metadata: { createdAt: Date; expiresAt?: Date; lastAccessedAt: Date; accessCount: number; size: number; priority: number; tags?: string[]; dependencies?: string[]; }; } export interface CacheStats { hits: number; misses: number; hitRate: number; size: number; count: number; evictions: number; expirations: number; averageAccessTime: number; memoryUsage: number; } export interface SemanticCacheConfig { enabled: boolean; similarityThreshold: number; embeddingModel?: string; maxResults?: number; } export interface DistributedCacheConfig { enabled: boolean; nodes?: string[]; replicationFactor?: number; consistentHashing?: boolean; } export interface CacheWarmupConfig { strategy: WarmupStrategy; patterns?: string[]; schedule?: string; preloadKeys?: string[]; predictiveWindow?: number; } export interface CacheInvalidationConfig { strategy: InvalidationStrategy; ttl?: number; patterns?: string[]; dependencies?: Map; events?: string[]; } export interface AdvancedCacheConfig { maxSize?: number; maxMemory?: number; defaultTTL?: number; strategy: CacheStrategy; evictionPolicy: EvictionPolicy; semantic?: SemanticCacheConfig; distributed?: DistributedCacheConfig; warmup?: CacheWarmupConfig; invalidation?: CacheInvalidationConfig; compression?: boolean; persistence?: { enabled: boolean; path?: string; interval?: number; }; } export interface CacheOperation { type: 'get' | 'set' | 'delete' | 'clear'; key: string; timestamp: Date; duration: number; hit?: boolean; } export interface CacheLayer { name: string; priority: number; maxSize: number; ttl: number; stats: CacheStats; } export interface MultiTierCacheConfig { layers: { name: string; priority: number; maxSize: number; ttl: number; }[]; promotionPolicy?: 'on-hit' | 'on-threshold' | 'never'; demotionPolicy?: 'on-miss' | 'on-eviction' | 'never'; } //# sourceMappingURL=types.d.ts.map