/**
 * A channel provider implemented with websockets
 */
import MessageChannelProvider from '../MessageChannelProvider';
import { WebSocketParams } from '../MessagingConfig';
declare class WebsocketChannelProvider extends MessageChannelProvider<WebSocketParams> {
    private _websocket;
    private _connected;
    private readonly _url;
    private readonly _encryptionInfo;
    private _msgCallback;
    private _connectAttempts;
    private _unsubscribed;
    private readonly _maxConnectAttempts;
    private readonly _baseReconnectDelay;
    constructor(params: WebSocketParams, url: any, sessionId: any, encryptionInfo: any, maxConnectAttempts: number, baseReconnectDelay: number);
    initialize(callback: any): void;
    private startWebsocket;
    publish(message: any): void;
    private onHandshakeMessage;
    private onSocketError;
    private onSocketOpen;
    private onSocketClose;
    onMessage(evt: any): void;
    getProviderInfo(): string;
    unsubscribeFromChannels(): void;
    private getHandshakeMessage;
    private sendAckToApp;
    isAckAckMessageFromApp(message: any): Boolean;
    private sendAckAckAckToApp;
    get url(): string;
    get clientInfo(): any;
}
export default WebsocketChannelProvider;
//# sourceMappingURL=WebsocketChannelProvider.d.ts.map