import { Observable } from 'rxjs'; import { Rpc } from './rpc'; import { RpcObservableRequestContext } from './rpc-observable-request'; import { RpcObservableResultContext } from './rpc-observable-result'; import { RpcOutbound } from './rpc-outbound'; /** * RPC Observable Client class. */ export declare class RpcObservableClient { protected rpc: Rpc; protected command: string; protected version: string; private id; private requestCommand; private resultCommand; private resultBuffer; private resultObservers; /** * Initializes a new instance of the RpcObservableClient class. * * @param rpc The rpc object. * @param command the command string. * @param version the version string. */ constructor(rpc: Rpc, command: string, version: string); /** * Make observable call. * * @param request The the request data. * @param outbound The outbound RPC channel. (request initiated from Shell.) * @return An observable for the response message */ protected observableCall(request: TRequest, outbound?: RpcOutbound): Observable; /** * Making rpc call to shell or module. * * @param request the request packet data. * @param outbound the outbound object from Shell to module request. * @return Promise the promise object. */ private rpcCall; /** * Create a replay observable. Replays result data if results exists. */ private replayResult; /** * Handles rpc response messages. * * @param result the result of observable request. */ private handler; }