import type { HeliaWithLibp2pPubsub } from "./types.js";
import Logger from "../logger.js";
export interface HeliaDebugContext {
    heliaPeerId: string;
    heliaStatus: HeliaWithLibp2pPubsub["libp2p"]["status"];
    connectedPeerCount: number;
    connections: {
        peer: string;
        multiaddr: string;
        direction: string;
    }[];
}
export declare function getHeliaDebugContext(helia: HeliaWithLibp2pPubsub): HeliaDebugContext;
export declare function waitForTopicSubscriber({ helia, topic, timeoutMs, abortSignal }: {
    helia: HeliaWithLibp2pPubsub;
    topic: string;
    timeoutMs: number;
    abortSignal?: AbortSignal;
}): Promise<void>;
export declare function connectToPubsubPeers({ helia, pubsubTopic, maxPeers, options, log }: {
    helia: HeliaWithLibp2pPubsub;
    pubsubTopic: string;
    maxPeers: number;
    log: Logger;
    options?: {
        signal?: AbortSignal;
    };
}): Promise<Awaited<ReturnType<typeof helia.libp2p.dial>>[]>;
