/// import Proxy, { ProxyOptions } from "../proxy.js"; import type { TcpSocketConnectOpts } from "net"; import { DataSocketOptions, PeerOptions } from "../peer.js"; import { PeerEntity } from "./multiSocket/types.js"; import Peer from "./multiSocket/peer.js"; export interface MultiSocketProxyOptions extends ProxyOptions { socketClass?: any; server: boolean; allowedPorts?: number[]; } export default class MultiSocketProxy extends Proxy { handlePeer({ peer, muxer, ...options }: DataSocketOptions & PeerOptions): Promise; private socketClass; private _peers; private _nextPeer; private _server; private _allowedPorts; constructor(options: MultiSocketProxyOptions); private _socketMap; get socketMap(): Map; private _sockets; get sockets(): Map; handleNewPeerChannel(peer: Peer): Promise; handleClosePeer(peer: Peer): Promise; get(pubkey: Uint8Array): PeerEntity | undefined; update(pubkey: Uint8Array, data: Partial): void; createSocket(options: TcpSocketConnectOpts): typeof this.socketClass; private _registerOpenSocketMessage; private _registerWriteSocketMessage; private _registerCloseSocketMessage; private _registerTimeoutSocketMessage; private _registerErrorSocketMessage; private _toString; private _getPublicKey; }