import { VortexClientABC } from "./VortexClientABC";
import { VortexStatusService } from "./VortexStatusService";
import { PayloadEnvelope } from "./PayloadEnvelope";
export declare class VortexClientWebsocket extends VortexClientABC {
    private Socket;
    private socket;
    private lastReconnectDate;
    private unsentBuffer;
    private reconnectingInProgress;
    private _data;
    private _vortexMsgsQueue;
    constructor(vortexStatusService: VortexStatusService, url: string, vortexClientName: string);
    get isReady(): boolean;
    send(payloadEnvelope: PayloadEnvelope | PayloadEnvelope[]): Promise<void>;
    reconnect(): Promise<void>;
    protected sendVortexMsg(vortexMsgs: string[]): void;
    private sendMessages;
    private _processData;
    private _processVortexMsgs;
    private _deliverPayload;
    protected shutdown(): Promise<void>;
    private closeWebsocket;
    private createSocket;
    private onMessage;
    private onOpen;
    private onClose;
    private onError;
    private testIfOnlineAndLoggedOut;
}
