/** * @nahisaho/yata-scale - L3 Cache (Cold) * * Disk-based cache for cold data using LMDB */ import type { CacheStats, Entity, Relationship } from '../types.js'; /** * L3 Cache - Cold tier, disk-based * Note: This is a simplified in-memory simulation. * In production, would use LMDB or similar. */ export declare class L3Cache { private readonly entities; private readonly relationships; private readonly maxEntries; private hits; private misses; private evictions; constructor(maxEntries?: number); /** * Get entity from cache */ getEntity(id: string): Promise; /** * Set entity in cache */ setEntity(entity: Entity): Promise; /** * Delete entity from cache */ deleteEntity(id: string): Promise; /** * Get relationship from cache */ getRelationship(id: string): Promise; /** * Set relationship in cache */ setRelationship(relationship: Relationship): Promise; /** * Delete relationship from cache */ deleteRelationship(id: string): Promise; /** * Batch get entities */ getEntities(ids: string[]): Promise>; /** * Batch set entities */ setEntities(entities: Entity[]): Promise; /** * Evict oldest entity */ private evictOldestEntity; /** * Evict oldest relationship */ private evictOldestRelationship; /** * Promote entity to L2 (returns it for L2 to cache) */ promoteEntity(id: string): Promise; /** * Demote entity from L2 (accepts and caches it) */ demoteEntity(entity: Entity): Promise; /** * Clear all caches */ clear(): Promise; /** * Sync to disk (no-op in this simulation) */ sync(): Promise; /** * Close the cache */ close(): Promise; /** * Get cache statistics */ getStats(): CacheStats; /** * Estimate size in bytes */ private estimateSize; /** * Get entity count */ get entityCount(): number; /** * Get relationship count */ get relationshipCount(): number; /** * Get total entry count */ get size(): number; } //# sourceMappingURL=L3Cache.d.ts.map