/**
 * QA Command - Unified Quality Assurance
 * Runs linting, type-checking, tests, and SonarQube
 */
import type { CommandOptions, IBaseCommand } from '../BaseCommand';
import type { Command } from 'commander';
/**
 * QA Result interface
 */
interface QAResult {
    status: 'pending' | 'passed' | 'failed' | 'skipped';
    output: string;
}
interface QAResults {
    lint: QAResult;
    typeCheck: QAResult;
    tests: QAResult;
    sonar: QAResult;
}
interface IQACommand extends IBaseCommand {
    addOptions(command: Command): void;
    runLint(result: QAResult): Promise<void>;
    runTypeCheck(result: QAResult): Promise<void>;
    runTests(result: QAResult): Promise<void>;
    runSonar(result: QAResult, options: CommandOptions): void;
    generateReport(results: QAResults): Promise<void>;
}
/**
 * QA Command Factory - Create a new QA command instance
 */
export declare const QACommand: () => IQACommand;
export {};
//# sourceMappingURL=QACommand.d.ts.map