/// import { EventEmitter } from "events"; import PeerId from "peer-id"; import { Discv5, ENRInput } from "../service"; import { IDiscv5Config } from "../config"; export interface IDiscv5DiscoveryInputOptions extends Partial { /** * Local ENR associated with the local libp2p peer id */ enr: ENRInput; /** * The bind multiaddr for the discv5 UDP server * * NOTE: This MUST be a udp multiaddr */ bindAddr: string; /** * Remote ENRs used to bootstrap the network */ bootEnrs: ENRInput[]; /** * Enable/disable discv5 * Note: this option is handled within libp2p, not within discv5 */ enabled: boolean; /** * Lookup interval * * Declared in milliseconds */ lookupInterval?: number; } export interface IDiscv5DiscoveryOptions extends IDiscv5DiscoveryInputOptions { peerId: PeerId; } /** * Discv5Discovery is a libp2p peer-discovery compatable module */ export declare class Discv5Discovery extends EventEmitter { static tag: string; discv5: Discv5; private started; private lookupInterval; constructor(options: IDiscv5DiscoveryOptions); start(): Promise; stop(): Promise; findPeers(): Promise; addEnr(enr: ENRInput): void; handleEnr: (enr: ENRInput) => Promise; }