import NodeWebSocket from "ws"; export declare type BrowserWebSocketType = InstanceType; export declare type NodeWebSocketType = InstanceType; export declare type NodeWebSocketTypeOptions = NodeWebSocket.ClientOptions; export interface IWSClientAdditionalOptions { autoconnect?: boolean; reconnect?: boolean; reconnect_interval?: number; max_reconnects?: number; } export interface ICommonWebSocketFactory { (address: string, options: IWSClientAdditionalOptions): ICommonWebSocket; } export interface ICommonWebSocket { send: (data: Parameters[0], optionsOrCallback: ((error?: Error) => void) | Parameters[1], callback?: (error?: Error) => void) => void; close: (code?: number, reason?: string) => void; addEventListener(type: K, listener: (ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; }