import type { AgentSession } from "../../core/agent-session.js"; import type { AgentSessionRuntime } from "../../core/agent-session-runtime.ts"; import type { ExtensionUIContext } from "../../core/extensions/index.js"; import { KeybindingsManager } from "../../core/keybindings.ts"; import type { RpcPendingExtensionRequests } from "./rpc-extension-ui.ts"; import type { KeybindingsReloadCoordinator } from "./rpc-keybindings-reload.ts"; import { type ProviderLoginInput } from "./rpc-provider-auth.ts"; import { type RpcOutput } from "./rpc-responses.ts"; import type { RpcCommand, RpcResponse } from "./rpc-types.ts"; export type RpcCommandHandler = (command: RpcCommand) => Promise; export type ManagedRpcCommandHandler = RpcCommandHandler & { disposeActiveBash(): Promise; }; interface RpcCommandHandlerOptions { runtimeHost: AgentSessionRuntime; getSession: () => AgentSession; rebindSession: () => Promise; output: RpcOutput; keybindings?: KeybindingsManager; taskInspectorUi?: Pick; reloadCoordinator?: KeybindingsReloadCoordinator; inputForm?: ProviderLoginInput; pendingExtensionRequests?: RpcPendingExtensionRequests; waitForResources?: () => Promise | undefined; reloadResources?: () => Promise; shouldRetryResources?: () => boolean; } export declare function createRpcCommandHandler({ runtimeHost, getSession, rebindSession, output, keybindings, taskInspectorUi, reloadCoordinator, inputForm, pendingExtensionRequests, waitForResources, reloadResources, shouldRetryResources, }: RpcCommandHandlerOptions): ManagedRpcCommandHandler; export {}; //# sourceMappingURL=rpc-command-handler.d.ts.map