/// <reference types="node" />
import { IncomingMessage, ServerResponse } from "node:http";
import { OnErrorEventHandler, Procedures } from "./types";
export type RPCMiddleware<TProcedures extends Procedures> = {
    (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => any): void;
    _procedures: TProcedures;
};
export type CreateRPCMiddlewareArgs<TProcedures extends Procedures> = {
    procedures: TProcedures;
    onError?: OnErrorEventHandler;
};
export declare const createRPCMiddleware: <TProcedures extends Procedures>(args: CreateRPCMiddlewareArgs<TProcedures>) => RPCMiddleware<TProcedures>;
