/** * InMemoryThreadPersistence — the dev/test binding of * {@link ThreadPersistencePort}. Same contract as any real binding (run * the suite in `@guuey/threads/testing` to prove yours), including the * two conditional-write guards and the null-preview no-touch semantics. */ import type { ThreadMessageRow, ThreadPersistencePort, ThreadRow, ThreadSnapshotRow } from "./rows.js"; export declare class InMemoryThreadPersistence implements ThreadPersistencePort { readonly threads: Map; readonly messages: ThreadMessageRow[]; readonly snapshots: Map; getThread(threadId: string): Promise; createThread(row: ThreadRow): Promise; incrementSeq(threadId: string, preview: string | null, atIso: string): Promise; putMessage(row: ThreadMessageRow): Promise; listRecentMessages(threadId: string, limit: number): Promise; findByClientMessageId(threadId: string, clientMessageId: string): Promise; getSnapshot(threadId: string): Promise; putSnapshot(row: ThreadSnapshotRow): Promise; } //# sourceMappingURL=in-memory.d.ts.map