export type SignalDeterminism = 'deterministic' | 'probabilistic'; export interface SignalCalibration { readonly determinism: SignalDeterminism; readonly method: string; readonly truePositiveRate?: number; readonly trueNegativeRate?: number; readonly measuredAt?: string; } export interface AdmissibilityPolicy { readonly minTruePositiveRate: number; readonly minTrueNegativeRate: number; readonly maxCalibrationAgeDays: number; readonly now?: () => Date; } export declare const DEFAULT_ADMISSIBILITY_POLICY: AdmissibilityPolicy; export type Admissibility = 'deterministic' | 'calibrated' | 'advisory-uncalibrated' | 'advisory-below-threshold' | 'advisory-stale-calibration'; export interface AdmissibilityDecision { readonly blocking: boolean; readonly determinism: SignalDeterminism; readonly admissibility: Admissibility; readonly confidence?: number; readonly downgradedFromBlocking: boolean; readonly rationale: string; } export declare function admitBlocking(intendedBlocking: boolean, calibration: SignalCalibration, policy?: AdmissibilityPolicy): AdmissibilityDecision;