import type { OperationsHandler, WebSocketManagerSettings, WebSocketSend } from './websocket.interface';
declare class WebSocketManager {
    private webSocketInstance?;
    private reconnectInterval;
    private readonly operations;
    private readonly wss;
    private readonly defaultInterval;
    private readonly isTesting;
    private get ws();
    constructor(settings: WebSocketManagerSettings);
    open(): void;
    close(): void;
    addOperation<T>(operationSetting: WebSocketSend<T>): void;
    removeOperation(method: string): void;
    removeHandler(method: string, handler: OperationsHandler): void;
    private findOperation;
    private addHandlers;
    private onCloseHandler;
    private onOpenHandler;
    private onMessageHandler;
    private onErrorHandler;
    private pickOperationStrategy;
    private isWebSocket;
    private isClosing;
    private isClose;
    private isOpen;
    private isIntervaledOperation;
    private isValidWebSocketAnswer;
}
export default WebSocketManager;
export declare const DEFAULT_SOCKET_INTERVAL = 3000;
