export type L1Stats = { enabled: true; hits: number; misses: number; sets: number; invalidations: number; evictions: number; staleHits: number; size: number; ipcAvoided: number; }; type L1EmitEvent = 'hit' | 'miss' | 'set' | 'invalidate' | 'evict' | 'stale-hit'; type L1EmitPayload = { key?: unknown; version?: number; reason?: string; }; type L1EmitFn = (event: L1EmitEvent, payload: L1EmitPayload) => void; type L1ConstructorOptions = { max?: number; maxSize?: number; ttl?: number; updateAgeOnGet?: boolean; allowStale?: boolean; emit?: L1EmitFn; }; export declare function encodeL1Key(key: {}): string; export declare class LocalL1Cache { #private; constructor(opts: L1ConstructorOptions); get(encodedKey: string, eventKey?: unknown): V | undefined; set(encodedKey: string, value: V, version: number, ttl?: number, eventKey?: unknown): void; delete(encodedKey: string, eventKey?: unknown, emit?: boolean): void; clear(emit?: boolean): void; advanceLatestSeen(version: number): void; latestSeen(): number; stats(): L1Stats; destroy(): void; } export {}; //# sourceMappingURL=l1.d.ts.map