/**
 * Sub-Agent Orchestrator
 *
 * Manages the registration, execution, and orchestration of sub-agents.
 * Supports both sequential and parallel execution patterns.
 */
import { SubAgent, SubAgentOrchestrator as ISubAgentOrchestrator, WorkflowStep, WorkflowResult, OrchestratorStatus } from "../interfaces/SubAgent";
export declare class SubAgentOrchestrator implements ISubAgentOrchestrator {
    private semaphore;
    private agents;
    private executionHistory;
    private activeWorkflows;
    private totalExecutions;
    private totalExecutionTime;
    /**
     * Register a sub-agent with the orchestrator
     */
    registerAgent<TInput, TOutput>(agent: SubAgent<TInput, TOutput>): void;
    /**
     * Execute a single sub-agent
     */
    executeAgent<TInput, TOutput>(agentName: string, input: TInput): Promise<TOutput>;
    /**
     * Execute a workflow with multiple sub-agents
     */
    executeWorkflow<T>(workflow: WorkflowStep[]): Promise<WorkflowResult<T>>;
    /**
     * Execute multiple sub-agents in parallel
     */
    executeParallel<TInput, TOutput>(agents: Array<{
        name: string;
        input: TInput;
    }>): Promise<Map<string, TOutput>>;
    /**
     * Get orchestration status
     */
    getStatus(): Promise<OrchestratorStatus>;
    /**
     * Get a registered sub-agent
     */
    getAgent(name: string): SubAgent<any, any> | undefined;
    /**
     * List all registered sub-agents
     */
    listAgents(): string[];
    /**
     * Remove a sub-agent
     */
    removeAgent(name: string): boolean;
    /**
     * Clear all sub-agents
     */
    clearAgents(): void;
    private recordExecution;
    private buildDependencyGraph;
    private getReadySteps;
    private resolveStepInput;
}
export declare const orchestrator: SubAgentOrchestrator;
//# sourceMappingURL=SubAgentOrchestrator.d.ts.map