import { AxiosResponse } from 'axios'; import { RpcClientOptions, RpcRequest, RpcResponse } from './interfaces'; type RpcBatchRequest = Array>; type RpcBatchResponse = Array>; type ReturnTypeOfMethod = T extends (...args: Array) => any ? ReturnType : any; type ReturnTypeOfMethodIfExists = S extends keyof T ? ReturnTypeOfMethod : any; type MethodParams = T extends (...args: infer P) => any ? P[0] : T; type MethodParamsIfExists = S extends keyof T ? MethodParams : S; export declare class RpcClient { private readonly options; private readonly client; constructor(options: RpcClientOptions); /** * Make JSON RPC Batch Request of the same method * @throws {AxiosError | RpcError} http/rpc error */ makeBatchRequest(requests: RpcBatchRequest): Promise>>; /** * Make JSON RPC Request * @throws {AxiosError | RpcError} http/rpc error */ makeRequest(request: RpcRequest>): Promise, TError>>>; } export {};