import { Timeout } from '../../agent-utils/index.js';
import { AgentFunction, ChatLogs, ChatMessage, FunctionDefinition, AgentOutput, AgentContext } from '../../agent-core/index.js';
import { Agent, GoalRunArgs } from '../utils/index.js';
export declare class Evo extends Agent<GoalRunArgs> {
    private enableQuickTermination?;
    private _cChat;
    private _chunker;
    private previousPrediction;
    private loopCounter;
    private previousAgent;
    private initializedAgents;
    private goal;
    constructor(context: AgentContext, timeout?: Timeout, enableQuickTermination?: boolean | undefined);
    reset(): void;
    init(): Promise<void>;
    protected initRun(args: GoalRunArgs): Promise<void>;
    protected beforeLlmResponse(): Promise<{
        logs: ChatLogs;
        agentFunctions: FunctionDefinition[];
        allFunctions: AgentFunction<AgentContext>[];
        finalOutput?: AgentOutput;
    }>;
    private contextualizeChat;
    private predictBestNextStep;
    private maxContextChars;
    private maxContextTokens;
    isLargeMsg: (message: ChatMessage) => boolean;
}
