import type { ProofRef, ProofRefHashAlgorithm } from '../../types/policy.js'; export type { ProofRef, ProofRefHashAlgorithm } from '../../types/policy.js'; /** Only algorithm specified this round. */ export declare const PROOF_REF_ALGORITHM: ProofRefHashAlgorithm; /** Parameters for {@link buildProofRef}. */ export interface BuildProofRefParams { /** The external proof artifact, as bytes or a UTF-8 string. */ artifact: string | Uint8Array; /** Advisory label for the producing proof system (e.g. 'smtlib2', 'lean4'). */ proofSystem?: string; /** Advisory fetch hint. The reference is the hash, not the locator. */ locator?: string; } /** Construct a {@link ProofRef} by hashing the proof artifact's bytes. * Deterministic: identical artifact bytes always yield the same hash. */ export declare function buildProofRef(params: BuildProofRefParams): ProofRef; /** Reasons a {@link ProofRef} can fail structural validation. */ export type ProofRefValidationError = 'MISSING_REF' | 'UNSUPPORTED_ALGORITHM' | 'MALFORMED_HASH'; export interface ProofRefValidationResult { /** True when the reference is structurally well formed. This says NOTHING * about whether the referenced artifact is a valid or sound proof. */ wellFormed: boolean; errors: ProofRefValidationError[]; } /** Structural validation only. A well-formed result asserts the reference has a * supported algorithm and a syntactically valid hash. It does not fetch, hash, * or check the referenced artifact. */ export declare function validateProofRef(ref: ProofRef | undefined | null): ProofRefValidationResult; /** Check whether an artifact's bytes hash to the reference's recorded hash. * This is the only sense in which a proof_ref is "checkable" this round: it * confirms the bytes match the named hash. It does NOT establish that those * bytes constitute a valid or sound proof. */ export declare function proofRefMatchesArtifact(ref: ProofRef, artifact: string | Uint8Array): boolean; /** The honest-scope line an emitter SHOULD add to a receipt's * scope_of_claim.does_not_assert when attaching a proof_ref. Dogfoods the * ScopeOfClaim convention from src/v2/accountability/types/base.ts. */ export declare function proofRefScopeNote(): string; //# sourceMappingURL=proof-ref.d.ts.map