import type { Provider, ThinkingLevel } from "@prestyj/ai";
export interface RpcModeOptions {
    provider: Provider;
    model: string;
    cwd: string;
    baseUrl?: string;
    systemPrompt?: string;
    thinkingLevel?: ThinkingLevel;
}
/**
 * RPC mode: read JSON commands from stdin, execute them, emit events + results to stdout.
 * This enables IDE integrations, test harnesses, and custom UIs to control the agent programmatically.
 *
 * Protocol:
 * - Input: one JSON object per line on stdin
 * - Output: one JSON object per line on stdout (events + results)
 *
 * Commands:
 * - { id, command: "prompt", text } → run agent loop, stream events, return result
 * - { id, command: "compact" } → compact conversation
 * - { id, command: "new_session" } → start new session
 * - { id, command: "switch_model", provider, model } → switch model
 * - { id, command: "branch", steps_back? } → create conversation branch
 * - { id, command: "get_state" } → return current session state
 * - { id, command: "abort" } → abort current operation
 */
export declare function runRpcMode(options: RpcModeOptions): Promise<void>;
//# sourceMappingURL=rpc-mode.d.ts.map