import { Session } from "./session.js";
type MessageItem = {
    role: "system" | "user" | "assistant";
    content: string;
};
export type LLMConfig = {
    apiKey: string;
    baseURL: string;
    model: string;
};
export declare class AbortError extends Error {
    constructor(message?: string);
}
export declare class AIChat {
    private session;
    private messages;
    addMessage(messageItem: MessageItem): void;
    getMessages(): MessageItem[];
    constructor(systemPrompt: string, session: Session);
    /**
     * 流式对话，逐步推送内容
     * @param usermessage 用户输入
     * @returns 最终完整回复
     */
    chat(usermessage: string): Promise<string>;
}
export declare class ChatManager {
    private session;
    private prompt;
    constructor({ session }: {
        session: Session;
    });
    private createChat;
    createMcpChat(): Promise<AIChat>;
    createFixJsonChat(): Promise<AIChat>;
}
export {};
