import type { ClassifiedRun } from "../classify/classifier.js";
import { type DecisionStore } from "../decisions/store.js";
import { type Baseline } from "./baseline.js";
export type RatchetClassification = "addition" | "recurrence" | "material-change" | "resolution" | "coverage-loss" | "detector-migration" | "expired-applicability" | "unscanned-prior-defect";
export type RatchetEffectiveLane = "blocking" | "advisory" | "coverage-incomplete";
export type RatchetStatus = "pass" | "fail" | "coverage-incomplete";
export type RatchetEntry = {
    classification: RatchetClassification;
    findingId: string;
    evidenceFingerprint: string;
    scopeId: string;
    effectiveLane: RatchetEffectiveLane;
    priorEvidenceFingerprint?: string;
};
export type RatchetResult = {
    status: RatchetStatus;
    entries: RatchetEntry[];
    blockingCount: number;
    advisoryCount: number;
    unresolvedPriorDefectCount: number;
};
export type RatchetOptions = {
    decisions?: DecisionStore;
    now?: string;
};
export declare function ratchet(baselineInput: Baseline, run: ClassifiedRun, options?: RatchetOptions): RatchetResult;
//# sourceMappingURL=ratchet.d.ts.map