/// import { Proxy, SocketType, StreamEvent } from "../../types"; import Connect, { Callback, ConnectHeaders } from "../connect"; import { ISocket } from "../../stream"; import EventEmitter from "eventemitter3"; export default class WSConnect extends Connect { constructor(); connect({ host, port, sessionId }: ConnectHeaders, proxy: Proxy | undefined, callback: Callback): void; } type WSStreamEvent = StreamEvent & { open: () => void; }; /** * 使用xhr方式通信ss */ export declare class WSSocket extends EventEmitter implements ISocket { private socket; private readonly _id; private _fetchHeader; private _destroyed; private headers; private protocol; constructor(); get readyState(): "open" | "closed"; isPaused(): boolean; type: SocketType; sessionId: string; get writable(): boolean; get readable(): boolean; get remoteAddress(): string; get remotePort(): number; get localAddress(): string; get localPort(): number; get destroyed(): boolean; get id(): string; get readableLength(): number; get writableLength(): number; pause(): void; resume(): void; setKeepAlive(enable: boolean, initialDelay: number): void; private init; connect(options: { url: string; headers: { [key: string]: any; }; }): this; destroy(error?: Error): void; close(err?: Error): void; read(ttl: number): Promise; write(chunk: string | Buffer, ...args: any[]): boolean; end(chunk?: string | Buffer | undefined, ...args: any[]): void; pipe(socket: ISocket): ISocket; } export {};