import { type Transformer } from '../core/transformer'; export type RPCBatchCall = { path: string; input: any; }; type InferProcedure = T extends { resolve: (arg: { context: any; input: infer I; }) => Promise; } ? (input: I) => Promise : never; type RpcClientProxy = { [K in keyof T]: T[K] extends { resolve: any; } ? InferProcedure : RpcClientProxy; } & { batch: (calls: RPCBatchCall[]) => Promise; }; export declare function rpcClient(url: string, options?: { headers?: () => Record; retry?: number; transformer?: Transformer; }): RpcClientProxy; export {};