type WebSocketEventMap = { open: undefined; close: CloseEvent; error: Event; message: MessageEvent; }; type EventCallback = (data: T) => void; type MessageHandler = (event: MessageEvent) => void; type RemoveListener = () => void; export declare class KryptogoWebSocket { private static instance; private url; private ws; private listeners; private messageHandlers; constructor(url: string); private connect; addMessageHandler(handler: MessageHandler): RemoveListener; removeMessageHandler(handler: MessageHandler): void; send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void; on(event: K, callback: EventCallback): RemoveListener; off(event: K, callback: EventCallback): void; private emit; close(): void; } export {};