/**
 * Generation Orchestrator
 * Coordinates code generation with checkpoint management, error handling, and retry logic
 */
import { Workflow } from '../types/workflow';
import { CodeGenerationOptions, CodeGenerationResult } from './code-generator';
import { CheckpointManager, GenerationStage } from '../utils/checkpoint-manager';
import { ErrorAggregator } from '../utils/error-handler';
export interface OrchestrationOptions extends CodeGenerationOptions {
    resume?: boolean;
    noCheckpoint?: boolean;
    autoRollback?: boolean;
    retryTransient?: boolean;
    maxRetries?: number;
    onProgress?: import('./types').ProgressCallback;
}
export interface OrchestrationResult extends CodeGenerationResult {
    checkpoint?: {
        stage: GenerationStage;
        percentage: number;
        canResume: boolean;
    };
    rolledBack?: boolean;
    retries?: number;
}
export declare class GenerationOrchestrator {
    private codeGenerator;
    private checkpointManager?;
    private errorAggregator;
    private workflowEngine;
    constructor();
    /**
     * Orchestrate code generation with full error handling and checkpointing
     */
    generate(workflow: Workflow, options: OrchestrationOptions): Promise<OrchestrationResult>;
    /**
     * Execute the full generation process
     */
    private executeGeneration;
    /**
     * Execute a generation stage with checkpoint tracking
     */
    private executeStage;
    /**
     * Execute generation with retry logic for transient failures
     */
    private executeWithRetry;
    /**
     * Validate workflow before generation
     */
    private validateWorkflow;
    /**
     * Resume generation from last checkpoint
     */
    private resumeGeneration;
    /**
     * Handle generation failure
     */
    private handleGenerationFailure;
    /**
     * Get checkpoint manager (for testing)
     */
    getCheckpointManager(): CheckpointManager | undefined;
    /**
     * Get error aggregator (for testing)
     */
    getErrorAggregator(): ErrorAggregator;
}
//# sourceMappingURL=generation-orchestrator.d.ts.map