export declare const EVIDENCE_CAPSULE_SCHEMA_VERSION: "0.1"; export declare const MAX_EVIDENCE_CAPSULE_BYTES: number; export declare const MAX_EVIDENCE_CAPSULE_ITEMS = 64; export declare const DEFAULT_MAX_EVIDENCE_CAPSULES = 256; export interface EvidenceSourceReference { readonly path: string; readonly blob_hash: string; readonly symbol?: string; readonly region?: { readonly start_line: number; readonly end_line: number; }; } export interface EvidenceAcceptanceLink { readonly acceptance_id: string; } export interface EvidenceRisk { readonly kind: "correctness" | "security" | "concurrency" | "compatibility" | "performance" | "operational"; readonly severity: "low" | "medium" | "high" | "critical"; readonly summary: string; } export interface EvidenceValidationReference { readonly command: string; readonly fingerprint: string; } export interface EvidenceCapsuleProvenance { readonly producer: string; readonly revision: string; readonly scope_fingerprint: string; } export interface EvidenceCapsule { readonly schema_version: "0.1"; readonly extractor_version: string; readonly sources: readonly EvidenceSourceReference[]; readonly acceptance_links: readonly EvidenceAcceptanceLink[]; readonly risks: readonly EvidenceRisk[]; readonly validations: readonly EvidenceValidationReference[]; readonly provenance: EvidenceCapsuleProvenance; } export type EvidenceCapsuleErrorCode = "invalid" | "oversize" | "capacity" | "undeclared" | "source_scope" | "stale" | "busy" | "missing" | "corrupt"; export declare class EvidenceCapsuleError extends Error { readonly code: EvidenceCapsuleErrorCode; constructor(code: EvidenceCapsuleErrorCode, message: string); } export interface EvidenceCapsulePutResult { readonly capsule_id: string; readonly capsule: EvidenceCapsule; readonly status: "created" | "reused"; readonly reuse: { readonly payload: boolean; readonly source_content: false; }; } export interface EvidenceCapsuleLookupRequest { readonly capsule_id: string; readonly declared_capsule_ids: readonly string[]; readonly authorized_source_paths: readonly string[]; } export interface EvidenceCapsuleLookupResult { readonly capsule_id: string; readonly capsule: EvidenceCapsule; readonly reuse: { readonly payload: true; readonly source_content: false; }; } export interface EvidenceCapsuleFreshness { readonly status: "fresh" | "stale"; readonly changed_relevant_paths: readonly string[]; } export declare function canonicalizeEvidenceCapsule(value: unknown): string; export declare function evidenceCapsuleHash(value: unknown): string; export declare function evaluateEvidenceCapsuleFreshness(capsule: EvidenceCapsule, currentSources: readonly { readonly path: string; readonly blob_hash: string; }[], authorizedSourcePaths: readonly string[]): EvidenceCapsuleFreshness; export declare class EvidenceCapsuleStore { #private; constructor(directory: string, options?: { readonly maxCapsules?: number; }); put(capsule: EvidenceCapsule, authorizedSourcePaths: readonly string[]): Promise; lookup(request: EvidenceCapsuleLookupRequest): Promise; /** Live reuse requires fresh source evidence; historical ledger lookup remains content-addressed. */ lookupFresh(request: EvidenceCapsuleLookupRequest, currentSources: readonly Pick[]): Promise; }