import { Client as JaysonClient, Server as JaysonServer, ClientOptions, RequestParamsLike, JSONRPCCallbackType, JSONRPCResultLike, JSONRPCErrorLike } from "jayson"; import { NotifyCallback } from "./utils"; export interface RequestOptions { [name: string]: any; } export interface JSONRPCResponse { error: JSONRPCErrorLike; result: JSONRPCResultLike; } export declare class Client extends JaysonClient { options: { [name: string]: any; }; constructor(server: JaysonServer, options?: ClientOptions); constructor(options: ClientOptions); remcall(method: string, params: RequestParamsLike, id?: string, options?: RequestOptions, callback?: JSONRPCCallbackType): Promise | undefined; remcall(method: string, params: RequestParamsLike, id?: string, callback?: JSONRPCCallbackType): Promise | undefined; remcall(method: string, params: RequestParamsLike, options?: RequestOptions, callback?: JSONRPCCallbackType): Promise | undefined; remcall(method: string, params: RequestParamsLike, callback?: JSONRPCCallbackType): Promise | undefined; ready(cb: NotifyCallback): void; close(): Promise; close(cb: NotifyCallback): undefined; static mqtt(client: any, options?: any, logger?: any): Client; }