///
import * as url from 'url';
import { EventEmitter } from 'events';
import * as WebSocketClient from 'ws';
import { WebSocketOptions } from './interfaces';
declare const _default: {
new (address: string, options?: WebSocketOptions): {
ws: WebSocketClient;
address: string;
protocols?: string | string[];
options?: WebSocketClient.ClientOptions;
beforeConnect: (connectionAttempts?: number) => Promise;
url: url.Url;
reconnecting: boolean;
reconnectInterval: number;
pingInterval: number;
pingTimeout: number;
pingFailureLimit: number;
pong: any;
ping: any;
connectionAttempt: number;
closed: boolean;
init(): void | Promise;
connect(): void;
reconnect(): void;
send(msg: any, callback?: (err: Error) => void): void;
sendJson(msg: any, callback?: (err: Error) => void): void;
close(code?: number, reason?: string): void;
addListener(event: string | symbol, listener: (...args: any[]) => void): any;
on(event: string | symbol, listener: (...args: any[]) => void): any;
once(event: string | symbol, listener: (...args: any[]) => void): any;
prependListener(event: string | symbol, listener: (...args: any[]) => void): any;
prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): any;
removeListener(event: string | symbol, listener: (...args: any[]) => void): any;
off(event: string | symbol, listener: (...args: any[]) => void): any;
removeAllListeners(event?: string | symbol): any;
setMaxListeners(n: number): any;
getMaxListeners(): number;
listeners(event: string | symbol): Function[];
rawListeners(event: string | symbol): Function[];
emit(event: string | symbol, ...args: any[]): boolean;
eventNames(): (string | symbol)[];
listenerCount(type: string | symbol): number;
};
listenerCount(emitter: EventEmitter, event: string | symbol): number;
defaultMaxListeners: number;
once(emitter: EventEmitter, event: string | symbol): Promise;
EventEmitter: typeof EventEmitter;
};
export = _default;