import type { NativeAcceptanceCriterion, NativeAcceptanceEvidenceEntry } from './native-acceptance.js'; import { type NativeImplementationScopeBundle } from './native-verification-scope.js'; export interface NativeAcceptanceTraceEntry { acceptanceId: string; status: 'passed' | 'failed' | 'missing'; kind: NativeAcceptanceCriterion['kind']; source: string; evidenceRefs: string[]; skippedReason: string | null; } export interface NativeAcceptanceEvidenceTrace { schema: 'comet.native.acceptance-trace.v2'; nativeRootRef: string; criteriaHash: string; total: number; evidenced: number; skipped: number; entries: NativeAcceptanceTraceEntry[]; traceHash: string; } export interface NativePartialAllowance { schema: 'comet.native.partial-allowance.v1'; change: string; scopeHash: string; scopeIds: string[]; reason: string; confirmedSummary: string; sourceRevision: number; confirmedAt: string; allowanceHash: string; } export interface NativeVerificationEvidenceEnvelope { schema: 'comet.native.verification-evidence.v2'; change: string; sourceRevision: number; result: 'pass' | 'fail'; freshness: 'complete' | 'partial'; contractHash: string; acceptanceCriteriaHash: string; implementationScopeRef: string; implementationScopeHash: string; reportRef: string; reportHash: string; acceptanceTrace: NativeAcceptanceEvidenceTrace; partialAllowanceRef: string | null; partialAllowanceHash: string | null; requiredReceiptRefs: string[]; receiptRefs: string[]; createdAt: string; envelopeHash: string; } export type NativeReadableVerificationEvidenceEnvelope = NativeVerificationEvidenceEnvelope; /** Build an exact, order-independent trace. Unknown, duplicate, or missing criteria fail closed. */ export declare function buildNativeAcceptanceEvidenceTrace(criteria: readonly NativeAcceptanceCriterion[], evidence: readonly NativeAcceptanceEvidenceEntry[], options: { nativeRootRef: string; allowMissing?: boolean; }): NativeAcceptanceEvidenceTrace; export declare function buildNativePartialAllowance(input: { change: string; scopeBundle: NativeImplementationScopeBundle; allowedScopeIds: readonly string[]; reason: string; confirmedSummary: string; sourceRevision: number; now?: Date; }): NativePartialAllowance; export declare function buildNativeVerificationEvidenceEnvelope(input: { change: string; sourceRevision: number; result: 'pass' | 'fail'; contractHash: string; acceptanceHash: string; implementationScope: { ref: string; bundle: NativeImplementationScopeBundle; }; reportRef: string; reportHash: string; acceptanceTrace: NativeAcceptanceEvidenceTrace; partialAllowance?: { ref: string; allowance: NativePartialAllowance; } | null; requiredReceiptRefs: readonly string[]; now?: Date; }): NativeVerificationEvidenceEnvelope; export declare function parseNativeAcceptanceEvidenceTrace(value: unknown): NativeAcceptanceEvidenceTrace; export declare function parseNativePartialAllowance(value: unknown): NativePartialAllowance; export declare function parseNativeVerificationEvidenceEnvelope(value: unknown): NativeReadableVerificationEvidenceEnvelope; //# sourceMappingURL=native-verification-evidence.d.ts.map