import type { Waku } from "./interfaces"; import { Protocols } from "./waku"; /** * Wait for a remote peer to be ready given the passed protocols. * Must be used after attempting to connect to nodes, using * {@link index.waku.WakuNode.dial} or a bootstrap method with * {@link lib/create_waku.createLightNode}. * * If the passed protocols is a GossipSub protocol, then it resolves only once * a peer is in a mesh, to help ensure that other peers will send and receive * message to us. * * @param waku The Waku Node * @param protocols The protocols that need to be enabled by remote peers. * @param timeoutMs A timeout value in milliseconds.. * * @returns A promise that **resolves** if all desired protocols are fulfilled by * remote nodes, **rejects** if the timeoutMs is reached. * @throws If passing a protocol that is not mounted * @default Wait for remote peers with protocols enabled locally and no time out is applied. */ export declare function waitForRemotePeer(waku: Waku, protocols?: Protocols[], timeoutMs?: number): Promise;