import type { QualityIntelligenceCoverageMapId, QualityIntelligenceEvidenceAtomId, QualityIntelligenceRunId, QualityIntelligenceTestCaseId } from "./ids.js";
export type QualityIntelligenceCoverageKind = "derived" | "asserted" | "manual";
export declare const QUALITY_INTELLIGENCE_COVERAGE_KINDS: readonly QualityIntelligenceCoverageKind[];
export interface QualityIntelligenceCoverageMapping {
    readonly atomId: QualityIntelligenceEvidenceAtomId;
    readonly candidateIds: readonly QualityIntelligenceTestCaseId[];
    readonly coverageKind: QualityIntelligenceCoverageKind;
    /** Confidence in `[0, 1]`. NaN, ±Infinity, and out-of-range values are rejected. */
    readonly confidence: number;
}
export interface QualityIntelligenceCoverageMap {
    readonly id: QualityIntelligenceCoverageMapId;
    readonly runId: QualityIntelligenceRunId;
    readonly mappings: readonly QualityIntelligenceCoverageMapping[];
}
/**
 * Throws `RangeError` on any out-of-range confidence (NaN, ±Infinity, < 0, > 1) and
 * on a mapping with an empty `candidateIds` list. Returns `void` on success.
 */
export declare const assertCoverageMapInvariant: (map: QualityIntelligenceCoverageMap) => void;
//# sourceMappingURL=coverageMap.d.ts.map