import * as http$1 from "node:http";

//#region src/jsonrpc.d.ts
type JsonRpcResponse = {
  jsonrpc: "2.0";
  id: string | number | null;
  result?: unknown;
  error?: {
    code: number;
    message: string;
    data?: unknown;
  };
};
type MethodHandler = (params: unknown, id: string | number, req: http$1.IncomingMessage) => Promise<JsonRpcResponse | null>;
interface JsonRpcDispatcherOptions {
  methods: Record<string, MethodHandler>;
  onNotification?: (method: string, params: unknown) => void;
}
declare function createJsonRpcDispatcher(options: JsonRpcDispatcherOptions): (req: http$1.IncomingMessage, res: http$1.ServerResponse, body: string) => Promise<void>;
//# sourceMappingURL=jsonrpc.d.ts.map

//#endregion
export { JsonRpcDispatcherOptions, JsonRpcResponse, MethodHandler, createJsonRpcDispatcher };
//# sourceMappingURL=jsonrpc.d.cts.map