import type { Finding } from "../../schema/src/records/finding.js";
import { type CorpusLabelManifest, type PlantedLabel } from "./labels.js";
export type CorpusMatch = {
    detectorClass: string;
    label: PlantedLabel;
    finding: Finding;
};
export type CorpusScore = {
    truePositives: CorpusMatch[];
    falseNegatives: PlantedLabel[];
    blockingFalsePositives: Finding[];
    advisoryHits: CorpusMatch[];
    advisoryMisses: PlantedLabel[];
    advisoryFalsePositives: Finding[];
    unmatchedFindings: Finding[];
};
export type CorpusClassScore = {
    truePositives: number;
    falseNegatives: number;
    blockingFalsePositives: Finding[];
    advisoryHits: number;
    advisoryMisses: number;
    advisoryFalsePositives: Finding[];
    unmatchedFindings: Finding[];
};
export declare function readManifest(fixtureDir: string): Promise<CorpusLabelManifest>;
export declare function scoreFindings(manifest: CorpusLabelManifest, findings: Finding[]): CorpusScore;
export declare function runCorpusFixture(fixtureDir: string): Promise<CorpusScore>;
export declare function aggregateCorpusScores(scores: CorpusScore[]): Record<string, CorpusClassScore>;
//# sourceMappingURL=harness.d.ts.map