/// import { EventEmitter } from "events"; interface ConnectionOptions { url: string; token: string; } export interface Message { event: string; data: any; channel?: string; } export declare enum State { INIT = "initialized", ERROR = "error", CLOSED = "closed", CONNECTING = "connecting", OPEN = "open" } export declare enum EmitterEvent { INIT = "initialized", ERROR = "error", CLOSED = "closed", CONNECTING = "connecting", OPEN = "open", MSG = "message" } export declare class Connection { state: State; url: string; token: string; emitter: EventEmitter; socket: WebSocket | undefined; constructor(options: ConnectionOptions); bind(event: string, callback?: any): Connection; unbind(event: string, callback?: any): Connection; connect(token: string): boolean; close(): boolean; changeState(state: State, params?: any): void; bindListeners(): void; unbindListeners(): void; onOpen(evt: Event): void; onError(error: Event): void; onClose(closeEvent: CloseEvent): void; onMessage(event: MessageEvent): void; send(event: string, data: any, channel?: string | undefined): void; } export {};