export type Determinism = 'deterministic' | 'probabilistic'; export type EvidenceFindingSeverity = 'info' | 'low' | 'medium' | 'high' | 'critical'; export interface EvidenceFinding { readonly code: string; readonly severity: EvidenceFindingSeverity; readonly message: string; readonly location?: string; } export interface Provenance { readonly collectedBy: string; readonly adapterVersion: string; readonly artifactHash: string; readonly timestamp: string; } export interface EvidenceCalibration { readonly truePositiveRate: number; readonly trueNegativeRate: number; readonly measuredAt: string; readonly sampleSize?: number; readonly method?: string; readonly labelledBy?: string; } export interface Evidence { readonly source: string; readonly dimension: string; readonly metrics: Readonly>; readonly findings: readonly EvidenceFinding[]; readonly determinism: Determinism; readonly provenance: Provenance; readonly calibration?: EvidenceCalibration; } export type EvidenceSignalStatus = 'present' | 'no-evidence'; export interface EvidenceSignal { readonly dimension: string; readonly status: EvidenceSignalStatus; readonly evidence: readonly Evidence[]; } export interface RawEvidence { readonly source?: string; readonly dimension?: string; readonly metrics?: Readonly>; readonly findings?: readonly EvidenceFinding[]; readonly determinism?: Determinism; readonly provenance?: Partial; readonly calibration?: Partial; } export interface NormalizeOptions { readonly now?: () => string; } export declare function normalizeEvidence(raw: RawEvidence, opts?: NormalizeOptions): Evidence; export interface EvidenceAdmissibilityPolicy { readonly minTruePositiveRate: number; readonly minTrueNegativeRate: number; readonly maxCalibrationAgeDays: number; readonly now?: () => Date; } export declare const DEFAULT_EVIDENCE_ADMISSIBILITY_POLICY: EvidenceAdmissibilityPolicy; export type EvidenceAdmissibility = 'deterministic' | 'calibrated' | 'advisory-uncalibrated' | 'advisory-below-threshold' | 'advisory-stale-calibration'; export interface EvidenceAdmissibilityDecision { readonly source: string; readonly dimension: string; readonly blocking: boolean; readonly determinism: Determinism; readonly admissibility: EvidenceAdmissibility; readonly confidence?: number; readonly downgradedFromBlocking: boolean; readonly rationale: string; } export declare function admitEvidenceBlocking(evidence: Evidence, policy?: EvidenceAdmissibilityPolicy): EvidenceAdmissibilityDecision; export declare function assessEvidenceAdmissibility(evidence?: readonly Evidence[], policy?: EvidenceAdmissibilityPolicy): EvidenceAdmissibilityDecision[]; export declare function admissibleBlockingEvidence(evidence?: readonly Evidence[], policy?: EvidenceAdmissibilityPolicy): Evidence[]; export declare function resolveEvidenceSignals(requestedDimensions: readonly string[], evidence?: readonly Evidence[]): EvidenceSignal[]; export declare const DEFAULT_QUALITY_DIMENSION = "quality"; export declare function foldQualitySignals(evidence?: readonly Evidence[]): EvidenceSignal[];