import { Agent } from "../agent";
import TaskContext from "./agent-context";
import { AgentChain } from "./chain";
import { EkoConfig, EkoResult, Workflow, NormalAgentNode } from "../types/agent.types";
export declare class Eko {
    protected chatId: string;
    protected config: EkoConfig;
    constructor(config: EkoConfig, chatId?: string);
    generate(taskPrompt: string, taskId?: string, contextParams?: Record<string, any>, datetime?: string): Promise<Workflow>;
    modify(taskId: string, modifyTaskPrompt: string): Promise<Workflow>;
    execute(taskId: string): Promise<EkoResult>;
    run(taskPrompt: string, taskId?: string, contextParams?: Record<string, any>): Promise<EkoResult>;
    initContext(workflow: Workflow, contextParams?: Record<string, any>): Promise<TaskContext>;
    private doRunWorkflow;
    protected runAgent(context: TaskContext, agent: Agent, agentNode: NormalAgentNode, agentChain: AgentChain): Promise<string>;
    getTask(taskId: string): TaskContext | undefined;
    getAllTaskId(): string[];
    deleteTask(taskId: string): boolean;
    abortTask(taskId: string, reason?: string): boolean;
    pauseTask(taskId: string, pause: boolean, abortCurrentStep?: boolean, reason?: string): boolean;
    chatTask(taskId: string, userPrompt: string): string[] | undefined;
    addAgent(agent: Agent): void;
    private onTaskStatus;
}
//# sourceMappingURL=eko.d.ts.map