import { BehaviorSubject, Subject } from 'rxjs';
import { MotionMasterReqResSocket } from './motion-master-req-res-socket';
import { IMotionMasterMessage } from './types';
export declare class MotionMasterReqResWebSocket implements MotionMasterReqResSocket {
    readonly opened$: BehaviorSubject<boolean>;
    readonly close$: Subject<{
        code: number;
        reason: string;
    }>;
    readonly alive$: BehaviorSubject<boolean>;
    readonly message$: Subject<IMotionMasterMessage>;
    private aliveTimeoutId;
    private pingSystemObserver;
    private pingSystemSubscription?;
    private webSocket$?;
    private _url?;
    private _pingSystemInterval?;
    private _systemAliveTimeout?;
    get url(): string | undefined;
    get pingSystemInterval(): number | undefined;
    get systemAliveTimeout(): number | undefined;
    open(url: string, pingSystemInterval?: number, systemAliveTimeout?: number): void;
    close(): void;
    reopen(): void;
    send(message: IMotionMasterMessage): void;
    private createWebSocket;
    private keepalive;
}
