/** * Shared conformance suite for vector-store adapters. Drive any adapter through * {@link runVectorStoreConformance} to verify it honours the same contract all shipped adapters do. * Public, deep-import-only (`@nhtio/adk/batteries/vector/conformance`). The suite has no test-runner * dependency: callers invoke it and await the returned promise from any test framework. * * @module @nhtio/adk/batteries/vector/conformance */ import type { CallableVectorStore } from "../contract"; /** A deterministic stub encoder producing a 3-dim vector from simple text features. */ export declare const stubEncoder: (texts: string[], _kind: "query" | "document") => Promise; /** * A dimension-padding encoder factory: wraps {@link stubEncoder} and zero-extends to `dim`. Used by * backends that enforce a minimum dimension (e.g. Cloudflare Vectorize requires 32–1536). */ export declare const paddedStubEncoder: (dim: number) => (texts: string[], kind: "query" | "document") => Promise; /** * Run the framework-free vector-store conformance suite against a consumer implementation. * * Each check creates a fresh store through `makeStore`; the returned promise rejects when any * contract assertion fails. Consumers can await this function from any test runner without * importing a test framework from the conformance module. * * @param label - Human-readable name used to identify the implementation under test. * @param makeStore - Factory returning a fresh, connected store with the `docs` collection. * @param dim - Vector dimensionality used by the suite (defaults to 3). * @param opts - Retry count and per-attempt timeout in milliseconds for eventually consistent stores. */ export declare const runVectorStoreConformance: (label: string, makeStore: () => Promise, dim?: number, opts?: { retry?: number; timeout?: number; }) => Promise;