/// import EventEmitter from "eventemitter3"; export type WSBgMsg = { type: WebSocketPluginCSType; url?: string; data?: string | Buffer | ArrayBuffer; }; export declare enum WebSocketPluginCSType { Connect = "connect", Open = "open", Close = "close", Error = "error", Data = "data" } export type WebSocketPluginEvent = { message: (ev: { type: "message"; data: any; }) => void; error: (ev: { type: "error"; error: Error; }) => void; open: (ev: { type: "open"; }) => void; close: (ev: { type: "close"; }) => void; }; export type PluginConnectMSG = { type: "open" | "data" | "connect" | "error"; url?: string; data?: string | Buffer | ArrayBuffer; }; export default class WSContentScript extends EventEmitter { readonly url: string; private port; private open; onmessage: (ev: { type: "message"; data: any; }) => void; onclose: (ev: { type: "close"; }) => void; onerror: (ev: { type: "error"; error: any; }) => void; onopen: (ev: { type: "open"; }) => void; get writable(): boolean; get readable(): boolean; get destroyed(): boolean; get isOpen(): boolean; get readyState(): number; isPaused(): boolean; constructor(url: string); private initEvent; private initConnect; addEventListener(event: keyof WebSocketPluginEvent, handle: (...args: any[]) => void): void; send(data: Buffer | string | ArrayBuffer): void; close(): void; }