/**
 * Agent Client Protocol (ACP) client wrapper for agents-cli.
 *
 * Spawns an ACP-capable agent CLI as a stdio subprocess and drives it through
 * initialize -> newSession -> prompt, streaming `session/update` notifications
 * back to the caller as async iterables.
 *
 * Also implements the Client interface (fs read/write, terminal exec) so the
 * agent can request filesystem and shell operations through us. `--mode plan`
 * rejects all write/terminal requests; `edit`/`full` allow them.
 */
import { type SessionNotification } from '@zed-industries/agent-client-protocol';
import type { AgentId } from '../types.js';
import { type ExecMode } from '../exec.js';
export interface AcpRunOptions {
    agent: AgentId;
    prompt: string;
    cwd: string;
    mode: ExecMode;
    /** Optional: callback invoked for every session/update notification. */
    onUpdate?: (n: SessionNotification) => void;
}
export interface AcpRunResult {
    stopReason: string;
    sessionId: string;
}
/**
 * Runs a single prompt turn against an ACP-capable agent and streams updates
 * to `onUpdate`. Resolves when the turn completes (StopReason is returned).
 */
export declare function runAcp(opts: AcpRunOptions): Promise<AcpRunResult>;
