export interface WebSocketLike { readonly readyState: number; send(data: string, callback?: (error?: Error) => void): void | Promise; close(code?: number, reason?: string): void | Promise; terminate?(): void; addEventListener?(type: string, listener: (...args: unknown[]) => void): void; removeEventListener?(type: string, listener: (...args: unknown[]) => void): void; on?(type: string, listener: (...args: unknown[]) => void): void; off?(type: string, listener: (...args: unknown[]) => void): void; removeListener?(type: string, listener: (...args: unknown[]) => void): void; } export declare function addSocketListener(socket: WebSocketLike, type: string, listener: (...args: unknown[]) => void): () => void; export declare function addSocketEmitterListener(socket: WebSocketLike, type: string, listener: (...args: unknown[]) => void): () => void;