import type { ThreadsStore } from "@dawn-ai/sqlite-storage"; /** * The contract every ThreadsStore must satisfy. Run against the sqlite store * (in-process, always) and any other backend (e.g. Postgres, gated) so they * cannot drift. Pass vitest's `describe`; `makeStore` returns a FRESH empty * store per call. * * Everything here goes through the public interface — never the tables — so a * backend is free to choose its own column types (sqlite keeps `metadata` as a * TEXT blob, Postgres as `jsonb`) as long as the observable behavior matches. */ export declare function runThreadsStoreConformance(opts: { readonly name: string; readonly makeStore: () => Promise | ThreadsStore; readonly describe: (name: string, fn: () => void) => void; readonly close?: (store: ThreadsStore) => Promise | void; }): void; //# sourceMappingURL=threads-conformance.d.ts.map