///
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;
}