import { Agent } from "../agent";
import Chain, { AgentChain } from "../agent/chain";
import { Workflow, EkoConfig, WorkflowAgent, LanguageModelV2Prompt } from "../types";
export default class TaskContext {
    chatId: string;
    taskId: string;
    config: EkoConfig;
    chain: Chain;
    agents: Agent[];
    controller: AbortController;
    variables: Map<string, any>;
    workflow?: Workflow;
    conversation: string[];
    private pauseStatus;
    readonly currentStepControllers: Set<AbortController>;
    constructor(chatId: string, taskId: string, config: EkoConfig, agents: Agent[], chain: Chain);
    checkAborted(noCheckPause?: boolean): Promise<void>;
    currentAgent(): [Agent, WorkflowAgent, AgentContext] | null;
    get pause(): boolean;
    setPause(pause: boolean, abortCurrentStep?: boolean): void;
    reset(): void;
}
export declare class AgentContext {
    agent: Agent;
    context: TaskContext;
    agentChain: AgentChain;
    variables: Map<string, any>;
    consecutiveErrorNum: number;
    messages?: LanguageModelV2Prompt;
    constructor(context: TaskContext, agent: Agent, agentChain: AgentChain);
}
//# sourceMappingURL=agent-context.d.ts.map