import { DiscoveryId } from './Misc'; import NetworkPeer, { PeerId } from './NetworkPeer'; import { Swarm, JoinOptions } from './SwarmInterface'; import Queue from './Queue'; export declare type NetworkMsg = InfoMsg; export interface InfoMsg { type: 'Info'; peerId: PeerId; } export default class Network { selfId: PeerId; joined: Set; peers: Map; peerQ: Queue; discovered: Set; swarms: Map; constructor(selfId: PeerId); join(discoveryId: DiscoveryId): void; leave(discoveryId: DiscoveryId): void; /** @deprecated */ get swarm(): Swarm | undefined; /** * @deprecated Use `addSwarm` */ setSwarm(swarm: Swarm, joinOptions?: JoinOptions): void; addSwarm(swarm: Swarm, joinOptions?: JoinOptions): void; removeSwarm(swarm: Swarm): void; get closedConnectionCount(): number; close(): Promise; getOrCreatePeer(peerId: PeerId): NetworkPeer; private closeSwarm; private swarmJoin; private swarmLeave; private onDiscovery; private onConnection; }