import type { IPFS as IPFSCore } from "ipfs-core-types";
import type { libp2p } from "ipfs-core/components/network";
import type { Options as IPFSOptions } from "ipfs-core/types";
import { Multiaddr } from "@multiformats/multiaddr";
import { IPFSPackage } from "./types.js";
declare type IPFS = IPFSCore & {
    libp2p: libp2p;
};
/** 🎛️ IPFS Options
 */
export declare const OPTIONS: IPFSOptions;
export declare function createAndConnect(pkg: IPFSPackage): Promise<IPFSCore>;
export declare function fetchFissionPeers(): Promise<string[]>;
export declare function listPeers(): Promise<Multiaddr[]>;
export declare function tryConnecting(ipfs: IPFS, peer: Multiaddr): void;
export declare function ping(ipfs: IPFS, peer: Multiaddr): Promise<{
    latency: number;
}>;
export declare function monitorPeers(): Promise<void>;
export declare function stopMonitoringPeers(): void;
export declare function monitorBitswap(ipfs: IPFS, verbose: boolean): Promise<void>;
export declare function stopMonitoringBitswap(): Promise<void>;
export {};
