import { IAgent } from '../agents/IAgent.js';
import { CoordinationStrategy, OrchestrationResult } from './CoordinationStrategy.js';
/**
 * Orchestrator that coordinates multiple agents according to a strategy.
 */
export declare class Orchestrator {
    private agents;
    private strategy;
    private allowedTools;
    private debug;
    /**
     * Create a new Orchestrator
     *
     * @param agents - Array of agents to coordinate
     * @param strategy - Coordination strategy to use
     * @param options - Additional orchestration options
     */
    constructor(agents: IAgent[], strategy: CoordinationStrategy, options?: {
        allowedTools?: string[];
        debug?: boolean;
    });
    /**
     * Run the orchestration with the provided input
     *
     * @param input - Initial input to process
     * @param isDone - Optional function to check if orchestration is complete
     * @returns Promise resolving to the orchestration result
     */
    run(input: string, isDone?: (output: string) => boolean): Promise<OrchestrationResult>;
}
//# sourceMappingURL=Orchestrator.d.ts.map