import type { Finding } from "./findings.js"; import type { Workspec } from "./workspec.js"; export interface DispositionOutcome { readonly findings: readonly Finding[]; } /** * Annotate accepted advisories and reject dispositions that overreach. * * Four rules, all of them fail-loud rather than fail-quiet: * * - A repeated code-target pair is an error, and no entry in that ambiguous pair is * accepted. * - A disposition naming a warning attaches its reason to that warning. The warning * is still reported; it is marked accepted, never dropped. * - A disposition naming an error is itself an error. Accepting an error is the * suppression this mechanism exists instead of. * - A disposition naming nothing is a warning. A reason kept after the finding it * explained has gone is stale, and a reader should be told rather than left to * assume it still applies. */ export declare function applyAdvisoryDispositions(spec: Workspec, findings: readonly Finding[]): DispositionOutcome;