import { type EvidenceKind } from './task-contract.js'; import { type VerificationCheckBindingV1, type VerificationCheckDescriptor } from './verification-check-binding.js'; import type { VerificationExecutionLeaseConsumption } from './verification-execution-lease.js'; import { type VerificationRunContract } from './verification-run-contract.js'; export declare const MAX_VERIFICATION_CHECK_REGISTRATIONS = 256; interface FocusedVerificationExecutionContext { readonly run: VerificationRunContract; readonly consumption: VerificationExecutionLeaseConsumption; readonly workspaceManifestHash: string; } export interface VerificationCheckRegistration extends VerificationCheckDescriptor { readonly run: (context: FocusedVerificationExecutionContext) => Promise; } export type VerificationCheckRegistryDenialCode = 'check_not_registered' | 'evidence_kind_mismatch' | 'check_binding_missing' | 'check_binding_drifted' | 'execution_context_invalid'; export type VerificationCheckBindingResolution = { readonly bound: true; readonly binding: VerificationCheckBindingV1; } | { readonly bound: false; readonly code: 'check_not_registered' | 'evidence_kind_mismatch'; readonly message: string; }; type VerificationCheckRegistryExecutionResult = { readonly executed: false; readonly code: VerificationCheckRegistryDenialCode; readonly message: string; } | { readonly executed: true; readonly descriptor: VerificationCheckDescriptor; readonly result: Result; }; export declare class VerificationCheckRegistryConfigurationError extends Error { constructor(message: string); } export declare class VerificationCheckRegistry { #private; constructor(registrations: readonly VerificationCheckRegistration[]); list(): readonly VerificationCheckDescriptor[]; fingerprint(): string; bindingFor(checkId: string, evidenceKind: EvidenceKind): VerificationCheckBindingResolution; execute(context: FocusedVerificationExecutionContext): Promise>; } export {}; //# sourceMappingURL=verification-check-registry.d.ts.map