import type { HTTPRPCOptions } from '../index.js'; import type { HTTPRPCClient } from '../lib/core.js'; import type { PeerId } from '@libp2p/interface'; import type { Multiaddr } from '@multiformats/multiaddr'; export interface SwarmAPI { /** * List of known addresses of each peer connected */ addrs(options?: HTTPRPCOptions): Promise; /** * Open a connection to a given address or peer id */ connect(multiaddrOrPeerId: Multiaddr | PeerId, options?: HTTPRPCOptions): Promise; /** * Close a connection to a given address or peer id */ disconnect(multiaddrOrPeerId: Multiaddr | PeerId, options?: HTTPRPCOptions): Promise; /** * Local addresses this node is listening on */ localAddrs(options?: HTTPRPCOptions): Promise; /** * Return a list of connected peers */ peers(options?: SwarmPeersOptions): Promise; } export interface AddrsResult { id: PeerId; addrs: Multiaddr[]; } export interface SwarmPeersOptions extends HTTPRPCOptions { direction?: boolean; streams?: boolean; verbose?: boolean; latency?: boolean; identify?: boolean; } export interface SwarmPeersResult { addr: Multiaddr; peer: PeerId; latency?: string; muxer?: string; streams?: string[]; direction?: 'inbound' | 'outbound'; error?: Error; identify?: { ID: string; PublicKey?: string; Addresses?: string[]; AgentVersion?: string; Protocols?: string[]; }; } export declare function createSwarm(client: HTTPRPCClient): SwarmAPI; //# sourceMappingURL=index.d.ts.map