import { EkoMessage, DialogueTool, DialogueParams, EkoDialogueConfig, EkoMessageUserPart, ChatStreamCallback, LanguageModelV2TextPart, LanguageModelV2ToolCallPart } from "../types";
import { EkoMemory } from "../memory/memory";
import { ChatContext } from "./chat-context";
export declare class ChatAgent {
    protected memory: EkoMemory;
    protected tools: DialogueTool[];
    protected chatContext: ChatContext;
    protected maxReactLoopNum: number;
    constructor(config: EkoDialogueConfig, chatId?: string, memory?: EkoMemory, tools?: DialogueTool[]);
    chat(params: DialogueParams): Promise<string>;
    initMessages(): Promise<void>;
    protected buildSystemPrompt(params: DialogueParams, chatTools: DialogueTool[]): Promise<void>;
    protected addUserMessage(messageId: string, user: EkoMessageUserPart[]): Promise<EkoMessage>;
    protected addMessages(messages: EkoMessage[], storage?: boolean): Promise<void>;
    protected buildInnerTools(params: DialogueParams): DialogueTool[];
    getMemory(): EkoMemory;
    getTools(): DialogueTool[];
    getChatContext(): ChatContext;
    protected handleCallResult(messageId: string, chatTools: DialogueTool[], results: Array<LanguageModelV2TextPart | LanguageModelV2ToolCallPart>, chatStreamCallback?: ChatStreamCallback): Promise<string | null>;
}
//# sourceMappingURL=chat-agent.d.ts.map