import type { PreparedMantleStorage } from "../../domain/port/MantleStorageAdapter.js"; import { type RuntimePlan } from "../../domain/service/RuntimePlanCompiler.js"; export interface StorageConformanceFixture { readonly storage: PreparedMantleStorage; /** Release all resources, including the isolated database, even after failure. */ readonly cleanup: () => void | Promise; } export interface StorageConformanceOptions { /** * Prepare a fresh, empty store for each check. Never supply a live database. * Adapters with a locale policy must enable en, zh-TW and ja for this fixture. */ readonly create: (plan: RuntimePlan) => Promise; } export interface StorageConformanceFailure { readonly check: string; readonly phase: "setup" | "assertion" | "cleanup"; readonly message: string; } export interface StorageConformanceReport { readonly ok: boolean; /** Stable check identifiers, in execution order, including failed checks. */ readonly checks: readonly string[]; readonly failures: readonly StorageConformanceFailure[]; } /** * Check the existing semantic ports using synthetic JSON data and a sealed plan. * Cases run sequentially with separate storage. Failures never suppress cleanup * or later cases. This is a baseline, not certification of every adapter feature. */ export declare function runStorageConformance(options: StorageConformanceOptions): Promise; //# sourceMappingURL=StorageConformance.d.ts.map