import type { CanonicalizationTestVector } from '../../core/canonical-jcs.js'; export interface ConformanceCheck { id: string; category: string; name: string; spec?: string; passed: boolean; /** First divergence detail when failed. Non-authoritative on pass. */ detail?: string; durationMs: number; } export interface ConformanceRunnerResult { passed: number; failed: number; total: number; categories: Record; tests: ConformanceCheck[]; summary: string; durationMs: number; /** True iff every check passed. Convenience for an exit code. */ allPass: boolean; } /** * Check one canonicalization vector. Returns null on full agreement, or a * human-readable divergence string naming the first divergent byte. Both * the JCS and legacy variants and both digests are checked: a single-byte * divergence in any one of the four fails. */ export declare function checkCanonicalizationVector(v: CanonicalizationTestVector): string | null; /** * Run the canonicalization conformance vectors against this * implementation's canonicalizers. `externalVectors` lets a caller load a * pinned JSON corpus (e.g. specs/test-vectors-canonicalization.json) and * assert it is byte-identical to the code mirror getTestVectors(), so a * drift between the two surfaces is itself a conformance failure. */ export declare function runCanonicalizationConformance(externalVectors?: CanonicalizationTestVector[]): ConformanceRunnerResult; /** Fold a check list into the report shape. */ export declare function summarize(checks: ConformanceCheck[], durationMs: number): ConformanceRunnerResult; //# sourceMappingURL=conformance-runner.d.ts.map