import { Agent } from "./agent";
import { LLMMessage, LLMResponse } from "../model/llm";
interface OrchestatorConfig {
    optionalPrompt?: string;
    temperature?: number;
    apiKey: string;
    serverUrl?: string;
    model?: string;
    stepsInterval?: number;
}
export type LLMQuestioner = (systemPrompt: string, prompt: string, history: LLMMessage[], callback?: (response: string) => any) => Promise<LLMResponse | undefined>;
export declare class Orchestrator {
    private agents;
    private globalContext;
    private questioner;
    private stepsInterval?;
    constructor(agents: Agent[], config: OrchestatorConfig);
    private chain;
    executeTask(prompt: string, history?: LLMMessage[], logCallback?: (log: string) => void): Promise<string>;
    askLLM(systemPrompt: string, prompt: string, history?: LLMMessage[], logCallback?: (log: string) => void): Promise<LLMResponse | undefined>;
}
export {};
