/**
 * Workflow Orchestrator
 *
 * Core orchestration engine that chains validation → optimization → re-validation.
 * Supports batch processing, watch mode, auto-fix, and multiple output formats.
 *
 * @implements @.aiwg/requirements/use-cases/UC-001-validate-ai-generated-content.md
 * @architecture @.aiwg/architecture/software-architecture-doc.md - Section 4.2 Core Orchestrator
 * @tests @test/unit/cli/workflow-orchestrator.test.ts
 * @depends @src/writing/validation-engine.ts
 * @depends @src/writing/prompt-optimizer.ts
 * @depends @src/cli/config-loader.ts
 * @depends @src/cli/watch-service.ts
 * @cli @docs/CLI_USAGE.md - workflow command
 */
import { ValidationResult } from '../writing/validation-engine.js';
import { OptimizationResult } from '../writing/prompt-optimizer.js';
import { AiwgConfig } from './config-loader.js';
export interface WorkflowResult {
    filePath: string;
    validation: {
        before: ValidationResult;
        after?: ValidationResult;
    };
    optimization?: OptimizationResult;
    applied: boolean;
    error?: string;
    duration: number;
}
export interface BatchProgress {
    total: number;
    processed: number;
    passed: number;
    failed: number;
    errors: number;
}
export type ProgressCallback = (progress: BatchProgress) => void;
/**
 * Core Workflow Orchestrator
 */
export declare class WorkflowOrchestrator {
    private configLoader;
    private validator;
    private optimizer;
    private watchService;
    private config;
    constructor(guideBasePath?: string);
    /**
     * Process a single file through the workflow
     */
    processFile(filePath: string, config?: AiwgConfig): Promise<WorkflowResult>;
    /**
     * Process multiple files in batch
     */
    processBatch(files: string[], config?: AiwgConfig, onProgress?: ProgressCallback): Promise<Map<string, WorkflowResult>>;
    /**
     * Validate step
     */
    validateStep(content: string, config: AiwgConfig): Promise<ValidationResult>;
    /**
     * Optimize step
     */
    optimizeStep(content: string, config: AiwgConfig): Promise<OptimizationResult>;
    /**
     * Re-validate step
     */
    revalidateStep(content: string, config: AiwgConfig): Promise<ValidationResult>;
    /**
     * Apply optimization to file
     */
    private applyOptimization;
    /**
     * Start watch mode
     */
    startWatchMode(config?: AiwgConfig): Promise<void>;
    /**
     * Stop watch mode
     */
    stopWatchMode(): Promise<void>;
    /**
     * Load configuration
     */
    loadConfig(configPath?: string): Promise<AiwgConfig>;
    /**
     * Validate configuration
     */
    validateConfig(config: AiwgConfig): import("./config-loader.js").ConfigValidationResult;
    /**
     * Generate report from results
     */
    generateReport(results: Map<string, WorkflowResult>, format: 'text' | 'json' | 'html' | 'junit'): string;
    /**
     * Save report to file
     */
    saveReport(report: string, destination: string): Promise<void>;
    /**
     * Expand glob patterns to file list
     */
    expandGlob(patterns: string[]): Promise<string[]>;
    private generateTextReport;
    private generateJsonReport;
    private generateHtmlReport;
    private generateJunitReport;
    private escapeXml;
}
//# sourceMappingURL=workflow-orchestrator.d.ts.map