import type { Finding } from './Finding.js'; /** * Below this share of checks gathering evidence, a run cannot be graded A: too much of the org * went unseen for a clean result to mean the org is clean. */ export declare const MIN_COVERAGE_FOR_A = 90; export interface EvidenceCoverage { /** Checks that ran (produced at least one finding). */ checksRun: number; /** Checks that gathered evidence for at least one of their findings. */ checksAssessed: number; /** checksAssessed / checksRun, as a whole percentage. 100 when nothing ran. */ percent: number; /** Ids of the checks that gathered no evidence at all, sorted. */ notAssessed: string[]; } /** * How much of the audit actually saw the org. A check counts as not assessed when every finding * it produced is inconclusive or marks the check as not run (a crash, or a permission error * CheckEngine caught). A check with some evidence and some gaps is assessed: its gaps are already * visible as its own inconclusive findings. */ export declare function evidenceCoverage(findings: readonly Finding[]): EvidenceCoverage; /** One line for every output: "Evidence coverage 82% (14 of 17 checks); grade capped at B". */ export declare function coverageSummary(coverage: EvidenceCoverage & { gradeCapped?: boolean; }): string; /** * What a reader should do about unassessed checks, or '' when every check gathered evidence. * Inconclusive is not one cause: each finding quotes what the org said, and only an access * error is fixed by granting permissions. */ export declare function coverageAdvice(coverage: EvidenceCoverage): string; //# sourceMappingURL=coverage.d.ts.map