export default interface PromisedWebSocket extends EventTarget { readonly url: string; /** * Opens the connection * @param {number} timeoutMs * @returns {Promise} */ open(timeoutMs: number): Promise; /** * Closes the connection * @param {number} timeoutMs * @returns {Promise} */ close(timeoutMs: number, code?: number, reason?: string): Promise; /** * Sends the provided data * @param {string | ArrayBufferLike | Blob | ArrayBufferView} data * @returns {Promise} */ send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void; }