/// import { Proxy, SocketType, StreamEvent } from "../../types"; import Connect, { Callback, ConnectHeaders } from "../connect"; import { ISocket } from "../../stream"; import EventEmitter from "eventemitter3"; export default class FetchConnect extends Connect { constructor(); connect({ host, port, sessionId }: ConnectHeaders, proxy: Proxy | undefined, callback: Callback): void; } export type XHRRequest = { host: string; port: number; url?: string; init?: { method: string; headers: { [key: string]: any; }; body?: ReadableStream | undefined; }; [key: string]: any; }; /** * 使用xhr方式通信 */ export declare class FetchSocket extends EventEmitter implements ISocket { private writeableStream; private readableStream; 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 canBody; private init; connect(options: XHRRequest, // callback: (socket: ISocket) => void): this; write(chunk: Buffer): boolean; end(chunk?: Buffer): void; read(ttl?: number): Promise; pipe(socket: ISocket): ISocket; destroy(error?: Error): void; close(err?: Error): void; }