/** * hosting/conformance/run — running the battery, and saying honestly how it * went. * * The runner owns exactly three decisions, and all three are about the ways a * case can NOT run: * * 1. the case is about an OPTIONAL port member this store does not implement * → `'not-applicable'`, naming the member. Feature detection, which is the * port's own rule applied to its own battery. * 2. the store implements it and cannot satisfy the case, and the harness said * so by name → `'declared'`, carrying the reason. It is run ANYWAY, so a * declaration that has quietly become untrue is visible rather than * permanent. * 3. the case needs a harness hook nobody supplied and nobody declared → * `'failed'`. This is the one that matters: an undeclared skip is a pass * with the evidence removed, which is the same shape as every defect this * suite exists to catch. */ import type { SessionLifecycleCase, SessionLifecycleOutcome, SessionLifecycleReport, SessionStoreHarness } from './types.js'; /** * Run ONE case against one store, building and disposing the store around it. * * Exported because a test framework wants one assertion per case: iterate * {@link sessionLifecycleConformance}, call this, and turn the outcome into a * `it()`. That gives per-case granularity in any framework without this module * knowing what a framework is. */ export declare function runSessionLifecycleCase(testCase: SessionLifecycleCase, harness: SessionStoreHarness): Promise; /** * Run the whole battery against one store and report. * * @example Claiming the port for a store of your own * const report = await runSessionLifecycleConformance({ * name: 'ourOwnSessions', * createStore: () => ourOwnSessions({ pool }), * disposeStore: (store) => store.close(), * }); * if (!report.ok) throw new Error(formatConformanceReport(report)); */ export declare function runSessionLifecycleConformance(harness: SessionStoreHarness): Promise; /** * The report as something to put in a failure message or a log — one line per * case, with the reason a case did not simply pass. */ export declare function formatConformanceReport(report: SessionLifecycleReport): string; //# sourceMappingURL=run.d.ts.map