import type { Violation } from '../../../domain/violation'; export declare const POLICY_BASELINE_VERSION = "1"; export interface PolicyBaseline { readonly version: string; readonly frozen: readonly string[]; readonly createdAt?: string; } export type EnforceMode = 'warn' | 'block'; export declare function freezeViolations(violations: readonly Violation[], opts?: { readonly createdAt?: string; }): PolicyBaseline; export declare function applyBaseline(violations: readonly Violation[], baseline: PolicyBaseline): { frozen: Violation[]; fresh: Violation[]; }; export declare function ratchet(baseline: PolicyBaseline, currentViolations: readonly Violation[]): { ok: boolean; grew: string[]; shrank: string[]; }; export declare function rebase(baseline: PolicyBaseline, currentViolations: readonly Violation[], opts?: { readonly createdAt?: string; }): PolicyBaseline; export declare function decide(fresh: readonly Violation[], mode: EnforceMode): { blocking: boolean; count: number; };