import { TTransport } from './transports/ITransport'; import { RpcSubscription } from './RpcSubscription'; export declare abstract class RpcBase { protected transportInfo?: TTransport.Options.Any; protected _transport: TTransport.Transport; fns: { [name: string]: (...params: any) => Promise; }; constructor(transportInfo?: TTransport.Options.Any); request(req: TRpc.IRpcAction): Promise; batch(arr: TRpc.IRpcAction[]): Promise; extend(rpcInfos: { name: string; call: string; params?: any[]; output?: any; }[]): void; protected subscribe(req: TRpc.IRpcAction): Promise>; private _wrapBody; private _unwrapBody; private _deserialize; protected abstract returnSchemas: any; } export declare namespace TRpc { interface IRpc { request(req: IRpcAction): Promise; } interface IRpcAction { method: string; params?: any[]; } }