import { Observable } from 'rxjs/Observable';
import { IWebSocketObservable, WsOptions, IWebSocket } from './types';
import { ConnectionHeaders, DisconnectHeaders } from './headers';
export interface Subscription {
    id: string;
    unsubscribe: () => void;
}
declare class WebSocketHandler {
    private ws;
    private isBinary;
    private connected;
    private maxWebSocketFrameSize;
    private createWS;
    constructor(createWsConnection: () => IWebSocket, options: WsOptions);
    initConnection: (headers: ConnectionHeaders) => Observable<IWebSocketObservable>;
    disconnect: (headers?: DisconnectHeaders) => void;
    private _send;
    private _wsSend;
}
export default WebSocketHandler;
