import { FileReference, WorkflowDefinition, WorkflowResult } from '../core/types.js';
export declare class WorkflowOrchestrator {
    private layerManager;
    private claudeLayer;
    private geminiLayer;
    private aiStudioLayer;
    private authVerifier;
    private readonly MAX_CONCURRENT_STEPS;
    private readonly MAX_WORKFLOW_DURATION;
    private readonly MAX_RETRY_ATTEMPTS;
    constructor(config?: any);
    executeWorkflow(workflow: WorkflowDefinition): Promise<WorkflowResult>;
    createWorkflow(template: 'document_processing' | 'content_analysis' | 'multimodal_pipeline' | 'research_workflow', files: FileReference[], instructions: string, options?: any): Promise<WorkflowDefinition>;
    executePipeline(steps: Array<{
        layer: 'claude' | 'gemini' | 'aistudio';
        action: string;
        input: any;
        dependsOn?: string[];
    }>, options?: {
        parallel?: boolean;
        continueOnError?: boolean;
        timeout?: number;
    }): Promise<WorkflowResult>;
    getWorkflowStatus(workflowId: string): Promise<{
        status: 'running' | 'completed' | 'failed' | 'not_found';
        progress: number;
        currentStep?: string;
        completedSteps: string[];
        failedSteps: string[];
    }>;
    private validateWorkflow;
    private detectCircularDependencies;
    private createExecutionPlan;
    private topologicalSort;
    private groupStepsByPhase;
    private estimateResources;
    private determineExecutionStrategy;
    private extractRequiredLayers;
    private initializeRequiredLayers;
    private groupStepsIntoPhases;
    private executeWorkflowSteps;
    private executeWorkflowStep;
    private prepareStepInput;
    private replaceContextPlaceholders;
    private generateFinalResult;
    private countFailedSteps;
    private calculateTotalCost;
    private extractLayersUsed;
    private createDocumentProcessingWorkflow;
    private createContentAnalysisWorkflow;
    private createMultimodalPipelineWorkflow;
    private createResearchWorkflow;
    getAvailableTemplates(): string[];
    getOrchestratorLimits(): {
        maxConcurrentSteps: number;
        maxWorkflowDuration: number;
        maxRetryAttempts: number;
    };
}
//# sourceMappingURL=workflowOrchestrator.d.ts.map