/**
 * Quality Gate Decider - PASS/CONCERNS/FAIL decision logic
 *
 * @module qa/quality-gate-decider
 * @since v0.8.0
 */
import { QualityAssessment, QualityGateResult, QualityGateDecision, QualityGateThresholds, TestCoverageResult, SecurityAuditResult } from './types.js';
/**
 * Default quality gate thresholds (Probability × Impact scoring)
 */
export declare const DEFAULT_THRESHOLDS: QualityGateThresholds;
export declare class QualityGateDecider {
    private thresholds;
    constructor(thresholds?: QualityGateThresholds);
    /**
     * Main decision logic - determine PASS/CONCERNS/FAIL
     *
     * @param assessment - Quality assessment result from AI judge
     * @param testCoverage - Optional test coverage result
     * @param securityAudit - Optional security audit result
     * @returns Quality gate result with decision and issues
     */
    decide(assessment: QualityAssessment, testCoverage?: TestCoverageResult, securityAudit?: SecurityAuditResult): QualityGateResult;
    /**
     * Assess risks and categorize into blockers/concerns
     */
    private assessRisks;
    /**
     * Assess test coverage and identify gaps
     */
    private assessTestCoverage;
    /**
     * Assess specification quality
     */
    private assessSpecQuality;
    /**
     * Assess security vulnerabilities
     */
    private assessSecurity;
    /**
     * Make final decision based on blockers and concerns
     */
    private makeDecision;
    private static readonly DECISION_DISPLAY;
    /**
     * Get decision icon/emoji
     */
    static getDecisionIcon(decision: QualityGateDecision): string;
    /**
     * Get decision color (for terminal output)
     */
    static getDecisionColor(decision: QualityGateDecision): 'green' | 'yellow' | 'red';
}
//# sourceMappingURL=quality-gate-decider.d.ts.map