/** The 4 QA evaluation dimensions per D-13 */
export declare const QA_DIMENSIONS: readonly ["completeness", "correctness", "code_quality", "test_coverage"];
export type QADimension = (typeof QA_DIMENSIONS)[number];
/** Score for a single QA dimension (1-10 scale) */
export interface QADimensionScore {
    dimension: QADimension;
    score: number;
    rationale: string;
}
/** Threshold constants for QA verdict derivation */
export declare const QA_DIMENSION_THRESHOLDS: {
    readonly approved: 7;
    readonly approved_with_notes: 5;
};
/** Scored QA signoff — replaces boolean approved/rejected with dimension scores */
export interface ScoredQASignoff {
    status: 'approved' | 'approved-with-notes' | 'rejected';
    timestamp: string;
    iterations: number;
    dimensions: QADimensionScore[];
    checks: {
        tests: {
            status: 'pass' | 'fail';
            count: number;
            failures: string[];
        };
        typecheck: {
            status: 'pass' | 'fail';
            errors: string[];
        };
        lint: {
            status: 'pass' | 'fail';
            warnings: number;
        };
    };
    issues: Array<{
        severity: 'critical' | 'warning' | 'note';
        file: string;
        description: string;
    }>;
    notes: string;
}
/** Derive verdict from dimension scores */
export declare function deriveVerdict(scores: QADimensionScore[]): ScoredQASignoff['status'];
//# sourceMappingURL=qa-scoring.d.ts.map