import type { RpcExtensionUIResponse } from "./rpc-types.ts";
export declare function isRpcExtensionUIResponse(value: unknown): value is RpcExtensionUIResponse;
/**
 * Control frames must remain reachable while an ordinary RPC command is
 * pending. Interrupts cancel that command, while host responses can unblock UI
 * work awaited by it. Everything else stays on the ordered command lane.
 */
export declare function isConcurrentRpcControlLine(line: string): boolean;
/**
 * Runs ordinary RPC input one frame at a time while giving validated control
 * frames an independent lane. The first ordinary frame starts synchronously,
 * so a following interrupt cannot overtake initialization of the operation it
 * is intended to cancel.
 */
export declare function createRpcInputScheduler(handleLine: (line: string) => Promise<void>): (line: string) => void;
//# sourceMappingURL=rpc-input-scheduler.d.ts.map