import { EventEmitter } from "node:events";
import type { ACodeRuntimeConfig } from "./types.js";
export declare class ACodeRuntime extends EventEmitter {
    private readonly config;
    private readonly hookBus;
    private state;
    private abortController;
    private submitQueue;
    private activeTurn;
    private abortRequested;
    private sessionCompleteEmitted;
    constructor(config: ACodeRuntimeConfig);
    private emitAcodeEvent;
    /**
     * 启动 ACode headless 会话。
     * 主流程：加载 `.acode/config.json` 与 skills 目录 -> 发出 MCP/Skill 状态 ->
     * 如有初始 prompt 则执行一轮响应。
     */
    start(): Promise<void>;
    /**
     * 处理一轮用户输入。
     * 主流程：将用户输入追加到会话 -> 调用 OpenAI-compatible 模型 -> 如模型请求
     * MCP tool call 则执行工具并继续同一轮，最后输出 assistant 文本与 usage。
     */
    submit(message: string): Promise<void>;
    private executeSubmit;
    /** 中止当前轮次；由执行轮次统一发出一个终态事件，避免 aborted/failed 双终态。 */
    abort(): Promise<void>;
    /** 终止 ACode 会话并发出 session_complete。 */
    stop(): Promise<void>;
    private resolveCommandDirs;
    private runModelTurn;
    private requestChatCompletion;
    private readChatCompletionStream;
    private handleToolCalls;
    private appendSyntheticMultimodalUserMessage;
    private appendToolFailureResult;
    private connectMcpServers;
    private createMcpTransport;
    private disconnectMcpServers;
}
//# sourceMappingURL=runtime.d.ts.map