import { type EvidenceRecord, type EvidenceReference, type EvidenceStore, type EvidenceWriteResult } from "../evidence/store.js"; import { type ProtectedVerificationBinding, type WorktreeVerificationProof } from "./protected-runner.js"; import { type ProtectedGradeSource } from "./grade-source.js"; import type { VerificationResult } from "./runner.js"; declare const PROTECTED_VERIFICATION_AUTHORITY: unique symbol; export interface ProtectedVerificationOutcome { readonly status: "created" | "replayed"; readonly ref: EvidenceReference; readonly record: EvidenceRecord; readonly verification: VerificationResult; readonly preflight: WorktreeVerificationProof; readonly postflight: WorktreeVerificationProof; } export interface ProtectedVerificationAuthority { readonly [PROTECTED_VERIFICATION_AUTHORITY]: true; readonly policyVersion: number; readonly policyDigest: string; readonly planDigest: string; verify(subject: ProtectedVerificationBinding): ProtectedVerificationOutcome; writeGrade(record: EvidenceRecord, source: ProtectedGradeSource): EvidenceWriteResult; } export declare function createProtectedVerificationAuthority(options: { packageRoot: string; configRoot: string; evidenceStore: EvidenceStore; }): ProtectedVerificationAuthority; export declare function assertProtectedVerificationAuthority(value: unknown): asserts value is ProtectedVerificationAuthority; export {};