type WebSocketClientRequest = { requestid: number; resolve?: (value: any) => void; }; type SocketCreator = (url: string, protocols?: string | string[], options?: Record) => WebSocket; export declare function createWebSocket(url: string, protocols?: string | string[], options?: Record): WebSocket; export declare function getVertxRegisterBaseUrl(baseUrl: string): string; export declare class WebSocketClient { static CONNECTING: 0; static OPEN: 1; static CLOSING: 2; static CLOSED: 3; url: string; socketCreatorProtocols?: string | string[]; socketCreatorOptions: Record; socketCreator: SocketCreator; socket?: WebSocket; state: typeof WebSocketClient.CONNECTING | typeof WebSocketClient.OPEN | typeof WebSocketClient.CLOSING | typeof WebSocketClient.CLOSED; messageQueue: Record[]; pingInterval: number; pingTimerID?: ReturnType; reconnect: boolean; reconnectAttempts: number; maxReconnectAttempts: number; reconnectTimerID?: ReturnType; onopen?: () => void; onclose?: (e: CloseEvent) => void; onerror?: (e: any) => void; requestid: number; waitings: Record; listeners: Record void)[]>; constructor(url?: string, options?: { socketCreatorProtocols?: string | string[]; socketCreatorOptions?: Record; socketCreator?: SocketCreator; pingInterval?: number; onopen?: () => void; onclose?: (e: CloseEvent) => void; onerror?: (e: Event) => void; reconnect?: boolean; maxReconnectAttempts?: number; }); open(): void; close(): void; private _connect; private onunhandled; private _send; ping(): void; register(address: string, listener: (err: any, message?: any) => void, headers?: Record): void; unregister(address: string, listener: (err: any, message?: any) => void, headers?: Record): void; publish(address: string, body: Record, headers?: Record): void; send(address: string, body: Record, headers?: Record, timeout?: number): Promise; } export {}; //# sourceMappingURL=WebSocketClient.d.ts.map