/** * Scan Receipt and Evidence Envelope (Parts 17-20) * * Provenance, reproducibility, and structured evidence output. */ import type { ScanResult, ScanReceipt, EvidenceEnvelope, ConcernFamilySummary } from '../types.js'; /** * Compute the rulepack digest (Part 22). * Hash of all rule IDs + versions + execution orders for reproducibility. * This allows consumers to verify that the same rule set was used across scans. */ export declare function computeRulepackDigest(rules: Array<{ id: string; version: string; executionOrder: number; }>): string; /** * Compute the verdict from a scan result. * ERROR if completeness is ERROR; BLOCK if CRITICAL/HIGH active findings; * REVIEW if MEDIUM/LOW active; PASS if no active findings. */ export declare function computeVerdict(result: ScanResult): 'PASS' | 'REVIEW' | 'BLOCK' | 'ERROR'; /** * Build a Scan Receipt from a scan result (Parts 17-18). * The receipt contains provenance and reproducibility metadata. */ export declare function buildScanReceipt(result: ScanResult, projectRoot: string, rulepackDigest: string): ScanReceipt; /** * Build an Evidence Envelope from a scan result (Parts 19-20). * The envelope bundles the receipt, findings, coverage, and limitations * into a single verifiable artifact. */ export declare function buildEvidenceEnvelope(result: ScanResult, projectRoot: string, rulepackDigest: string, concernFamilies: ConcernFamilySummary[], findingsBound?: number): EvidenceEnvelope; //# sourceMappingURL=receipt.d.ts.map