import type { Finding } from '../findings/Finding.js'; import type { WaiverLoader } from './WaiverLoader.js'; export interface ApplyWaiversResult { findings: Finding[]; waivedFindings: Finding[]; activeWaiverCount: number; expiredWaiverCount: number; /** Waivers that matched a CRITICAL finding without acknowledgeCritical, and so were not applied. */ unacknowledgedCriticalCount: number; } /** * Marks findings covered by an approved, unexpired waiver as `waived`, which removes them from the * score and from --fail-on. A finding with affected items is waived only when every item is * covered; otherwise each covered item is annotated and the finding stays active. A finding with * no affected items is matched by its own id. * * A CRITICAL finding is waived only when the waiver sets acknowledgeCritical, so accepting the * most severe risks is always a deliberate, visible choice. Waived findings still take part in * attack-chain correlation: accepting one weakness does not accept the path it forms with others. */ export declare function applyWaivers(findings: Finding[], loader: WaiverLoader): ApplyWaiversResult; //# sourceMappingURL=applyWaivers.d.ts.map