/** * Typed scope recertification contract (T2.3). Fail-closed validator with explicit exported types, * no unknown payload, and field-specific rejection paths mirroring the remediation protocol style. */ import type { ScopeRecertificationV1 } from '../types'; /** * Commitment of a certification record, bound to the chain head it certifies. * * `certificationId` IS part of the commitment. It is assigned by the publisher and never derived * from the hash, so including it creates no cycle — while excluding it would let two certificates * with different ids share one commitment, so an anchor could name C-001 and be satisfied by the * bytes of C-002. That is the E3 lesson applied to certification. */ export declare function certificationCommitment(cert: ScopeRecertificationV1): string; /** Validate a complete certification record (T2.3, AC1-2). */ export declare function validateScopeRecertification(value: unknown, path: string): string[]; /** Validate that a certification record matches expected commitment in an anchor. */ export declare function validateCertificationCommitment(cert: ScopeRecertificationV1, expectedCommitment: string, path: string): string[]; //# sourceMappingURL=certification.d.ts.map