/** * Shared contract tests for {@link AttachmentStore} implementations. * * Store packages call {@link defineAttachmentStoreContractTests} with a * factory that creates their backend. The tests exercise every method on * `AttachmentStore` with identical behavioral assertions regardless of the * underlying storage engine — content-addressed put/get round-trips, * idempotent puts by `(scope, digest)`, digest verification, scope isolation, * and deletion semantics (`delete` of a missing attachment throws * `NOT_FOUND`). * * @example * ```ts * import { defineAttachmentStoreContractTests } from '@fabric-harness/sdk/testing/contracts'; * * defineAttachmentStoreContractTests('My backend', async () => ({ * store: await createMyAttachmentStore(), * close: async () => myBackend.close(), * })); * ``` */ import type { AttachmentStore } from './attachment-store.js'; export interface AttachmentStoreContractHandle { /** The fresh store under test. */ store: AttachmentStore; /** Optional cleanup after the test (close connections, delete temp files). */ close?: () => Promise; } /** * Register the standard {@link AttachmentStore} contract tests under the * given describe label. Each test gets a fresh store from `factory()`. */ export declare function defineAttachmentStoreContractTests(name: string, factory: () => Promise): void; //# sourceMappingURL=attachment-store-contract.d.ts.map