import type { AgentSession } from "../../core/agent-session.ts";
import type { AgentSessionRuntime } from "../../core/agent-session-runtime.ts";
import { type RpcOutput } from "./rpc-responses.ts";
import type { RpcCommand, RpcResponse } from "./rpc-types.ts";
export type RpcCommandHandler = (command: RpcCommand) => Promise<RpcResponse | undefined>;
interface RpcCommandHandlerOptions {
    runtimeHost: AgentSessionRuntime;
    getSession: () => AgentSession;
    rebindSession: () => Promise<void>;
    output: RpcOutput;
}
export declare function createRpcCommandHandler({ runtimeHost, getSession, rebindSession, output, }: RpcCommandHandlerOptions): RpcCommandHandler;
export {};
//# sourceMappingURL=rpc-command-handler.d.ts.map