import type { BashResult } from "../../core/bash-executor.ts"; import type { BashOutputChannel } from "../../core/tools/bash.js"; import type { RpcEvent, RpcResponse } from "./rpc-types.ts"; export interface RpcEventSource { onEvent(listener: (event: RpcEvent) => void): () => void; getStderr(): string; } export declare function waitForRpcIdle(source: RpcEventSource, timeout: number): Promise; export declare function collectRpcEvents(source: RpcEventSource, timeout: number): Promise; /** * Run a user bash command, forwarding only the output of that request. * * The id is learned from the send itself, so the subscription is registered * before the command starts and still filters by correlation. */ export declare function runUserBashWithUpdates(source: RpcEventSource, command: string, onUpdate: (delta: string, channel: BashOutputChannel) => void, options: { excludeFromContext?: boolean; onRequestId?: (id: string) => void; } | undefined, send: (body: { type: "user_bash"; command: string; excludeFromContext?: boolean; }, onRequestId: (id: string) => void) => Promise): Promise; //# sourceMappingURL=rpc-client-waits.d.ts.map