import { type SpotlightMemoryGateResult, type SpotlightMemoryLookupInput, type SpotlightMemoryWriteInput, type SpotlightMemoryWriteResult } from "@inupedia/spotlight-protocol"; import type { MemoryEntryScope } from "./memoryEntryScope.js"; export interface MemoryStoreReader { getExact(cacheKey: string): Promise; findSemantic(projectId: string, questionNorm: string, limit?: number, lookupScopes?: Array<{ scope: MemoryEntryScope; sessionId?: string; }>): Promise>; touch(entryId: string): Promise; } export interface MemoryStoreWriter { putExact(cacheKey: string, entry: import("@inupedia/spotlight-protocol").SpotlightMemoryEntry): Promise; putSemantic(entry: import("@inupedia/spotlight-protocol").SpotlightMemoryEntry): Promise; hasExact(cacheKey: string): Promise; } export interface MemoryGateConfig { enabled?: boolean; semanticThreshold?: number; writeMinConfidence?: number; semanticEnabled?: boolean; } export interface MemoryGate { lookup(input: SpotlightMemoryLookupInput): Promise; write(input: SpotlightMemoryWriteInput): Promise; } export declare function createMemoryGate(reader: MemoryStoreReader, writer: MemoryStoreWriter, config?: MemoryGateConfig): MemoryGate; //# sourceMappingURL=gate.d.ts.map