import type { CooperativeCurrentProcessVerificationDecision } from "./cooperative-finish-authority.js"; import { type CompletionDecision } from "../core/completion-decision.js"; import type { CompletionAssuranceRequirement } from "../core/completion-decision.js"; export type VerificationAssurance = "diagnostic-only" | "none" | "cooperative" | "external"; export type VerificationAuthorityProvider = "none" | "cooperative-current-process" | "external-attested"; export type VerificationConsumptionState = "not-applicable" | "unconsumed" | "consumed"; export type FinishAssuranceRequirement = CompletionAssuranceRequirement; export declare const DEFAULT_FINISH_ASSURANCE_REQUIREMENT: "external"; export type DiagnosticVerificationDecision = { readonly assurance: "diagnostic-only"; readonly authorityProvider: "none"; readonly code: string; readonly completionEligible: false; readonly consumptionState: "not-applicable"; readonly kind: "diagnostic-only"; readonly status: "diagnostic-only"; readonly summary: string; }; export type BlockedVerificationDecision = { readonly assurance: "none"; readonly authorityProvider: "none"; readonly code: string; readonly completionEligible: false; readonly consumptionState: "not-applicable"; readonly kind: "blocked"; readonly status: "blocked"; readonly summary: string; }; export type ExternalAttestedVerificationDecision = { readonly assurance: "external"; readonly attestationId: string; readonly authorityProvider: "external-attested"; readonly completionEligible: true; readonly consumptionState: "unconsumed" | "consumed"; readonly decisionId: string; readonly kind: "external-attested"; readonly sourceSnapshotDigest: string; readonly status: "trusted"; readonly verifiedAt: string; }; export type CompletionEligibleVerificationDecision = CooperativeCurrentProcessVerificationDecision | ExternalAttestedVerificationDecision; export type VerificationDecision = BlockedVerificationDecision | DiagnosticVerificationDecision | CompletionEligibleVerificationDecision; type ExternalAttestedDecisionInput = { readonly attestationId: string; readonly consumptionState?: ExternalAttestedVerificationDecision["consumptionState"]; readonly decisionId: string; readonly sourceSnapshotDigest: string; readonly verifiedAt: string; }; export declare function diagnosticVerificationDecision(code: string, summary: string): DiagnosticVerificationDecision; export declare function blockedVerificationDecision(code: string, summary: string): BlockedVerificationDecision; export declare function externalAttestedVerificationDecision(input: ExternalAttestedDecisionInput): ExternalAttestedVerificationDecision; export declare function isCompletionEligibleVerificationDecision(value: unknown): value is CompletionEligibleVerificationDecision; export declare function isExternalAttestedVerificationDecision(value: unknown): value is ExternalAttestedVerificationDecision; export declare function isTrustedVerificationDecision(value: unknown): value is ExternalAttestedVerificationDecision; export declare function completionEligibleForAssurance(value: unknown, requirement?: FinishAssuranceRequirement): boolean; export declare function completionDecisionForVerification(value: unknown, requirement?: FinishAssuranceRequirement): CompletionDecision; export declare function verificationDecisionSummary(decision: VerificationDecision): string; export {};