import type { QualityIntelligenceEvidenceAtomId, QualityIntelligenceRunId, QualityIntelligenceTestCaseId, QualityIntelligenceValidationFindingId } from "./ids.js";
export type QualityIntelligenceValidationFindingKind = "logic-defect" | "faithfulness-defect" | "semantic-defect" | "mutation-defect" | "policy-violation" | "manual-rejection" | "coverage-gap" | "test-quality";
export declare const QUALITY_INTELLIGENCE_VALIDATION_FINDING_KINDS: readonly QualityIntelligenceValidationFindingKind[];
export type QualityIntelligenceSeverity = "critical" | "high" | "medium" | "low";
export declare const QUALITY_INTELLIGENCE_SEVERITIES: readonly QualityIntelligenceSeverity[];
/**
 * Total ordering on severity, highest-first. `critical` < `high` < `medium` < `low`
 * in this ordering (lower number = more severe). Pure; used by callers that need to
 * sort or threshold findings.
 */
export declare const QUALITY_INTELLIGENCE_SEVERITY_RANK: Readonly<Record<QualityIntelligenceSeverity, number>>;
interface QualityIntelligenceValidationFindingCommon {
    readonly id: QualityIntelligenceValidationFindingId;
    readonly runId: QualityIntelligenceRunId;
    /** Absent for run-scoped findings (e.g. a policy violation against the whole run). */
    readonly candidateId?: QualityIntelligenceTestCaseId;
    readonly severity: QualityIntelligenceSeverity;
    /** Non-secret single-sentence summary; assumed already redacted by the producer. */
    readonly summary: string;
    readonly evidenceAtomIds: readonly QualityIntelligenceEvidenceAtomId[];
}
export interface QualityIntelligenceLogicDefectFinding extends QualityIntelligenceValidationFindingCommon {
    readonly kind: "logic-defect";
}
export interface QualityIntelligenceFaithfulnessDefectFinding extends QualityIntelligenceValidationFindingCommon {
    readonly kind: "faithfulness-defect";
}
export interface QualityIntelligenceSemanticDefectFinding extends QualityIntelligenceValidationFindingCommon {
    readonly kind: "semantic-defect";
}
export interface QualityIntelligenceMutationDefectFinding extends QualityIntelligenceValidationFindingCommon {
    readonly kind: "mutation-defect";
}
export interface QualityIntelligencePolicyViolationFinding extends QualityIntelligenceValidationFindingCommon {
    readonly kind: "policy-violation";
}
export interface QualityIntelligenceManualRejectionFinding extends QualityIntelligenceValidationFindingCommon {
    readonly kind: "manual-rejection";
}
export interface QualityIntelligenceCoverageGapFinding extends QualityIntelligenceValidationFindingCommon {
    readonly kind: "coverage-gap";
}
export interface QualityIntelligenceTestQualityFinding extends QualityIntelligenceValidationFindingCommon {
    readonly kind: "test-quality";
}
export type QualityIntelligenceValidationFinding = QualityIntelligenceLogicDefectFinding | QualityIntelligenceFaithfulnessDefectFinding | QualityIntelligenceSemanticDefectFinding | QualityIntelligenceMutationDefectFinding | QualityIntelligencePolicyViolationFinding | QualityIntelligenceManualRejectionFinding | QualityIntelligenceCoverageGapFinding | QualityIntelligenceTestQualityFinding;
export {};
//# sourceMappingURL=validationFinding.d.ts.map