import { OrchestrationStrategy, OrchestrationRequest, Message } from "../types/index.js";
interface ProviderResponse {
    model: string;
    response: string;
    duration: number;
    tokens?: number;
}
interface OrchestrationResult {
    strategy: OrchestrationStrategy;
    responses: ProviderResponse[];
    synthesis?: string;
    consensus?: string;
    conclusion?: string;
    rounds?: any[];
    metadata: {
        totalDuration: number;
        modelsUsed: string[];
    };
}
export declare class AIOrchestrator {
    private providers;
    private logger;
    private queue;
    constructor();
    private initializeProviders;
    orchestrate(request: OrchestrationRequest): Promise<OrchestrationResult>;
    private sequentialProcessing;
    private parallelProcessing;
    private debateMode;
    private consensusMode;
    private specialistMode;
    private hierarchicalMode;
    private mixtureOfExperts;
    private parseModelId;
    private getDefaultModels;
    private synthesizeResponses;
    private generateDebateConclusion;
    private analyzeTaskType;
    private selectBestModel;
    private scoreResponse;
    callModel(model: string, prompt: string, options?: {
        temperature?: number;
        useThinking?: boolean;
        thinkingTokens?: string[];
        context?: Message[];
    }): Promise<ProviderResponse>;
}
export {};
//# sourceMappingURL=orchestrator.d.ts.map