/** Mapping store interface and in-memory implementation. */ import { Category } from "./types.js"; /** Abstract store interface for real↔fake mappings. */ export interface MappingStore { put(real: string, fake: string, category: Category): void; getFake(real: string): string | undefined; getReal(fake: string): string | undefined; getCategory(real: string): Category | undefined; allMappings(): Map; size(): number; clear(): void; } /** Serialized form of a mapping store — used for session export/import. */ export interface SerializedStore { mappings: [string, string, string][]; salt: string; tenantId?: string; exportedAt: string; } export declare class MemoryStore implements MappingStore { private _realToFake; private _fakeToReal; private _categories; /** Insertion-order list for LRU eviction (oldest first). */ private _insertionOrder; /** Max store size (0 = unlimited). QW10. */ private _maxSize; constructor(maxSize?: number); put(real: string, fake: string, category: Category): void; getFake(real: string): string | undefined; getReal(fake: string): string | undefined; getCategory(real: string): Category | undefined; allMappings(): Map; size(): number; clear(): void; /** Export all mappings for serialization. */ export(salt: string, tenantId?: string): SerializedStore; /** Import mappings from a session export. */ import(data: SerializedStore): void; }