import { type Multiaddr, type ResolveOptions } from '@multiformats/multiaddr';
import type { IpNet } from '@chainsafe/netmask';
import type { LoggerOptions } from '@libp2p/interface';
/**
 * Recursively resolve DNSADDR multiaddrs
 */
export declare function resolveMultiaddrs(ma: Multiaddr, options: ResolveOptions & LoggerOptions): Promise<Multiaddr[]>;
/**
 * Converts a multiaddr string or object to an IpNet object.
 * If the multiaddr doesn't include /ipcidr, it will encapsulate with the appropriate CIDR:
 * - /ipcidr/32 for IPv4
 * - /ipcidr/128 for IPv6
 *
 * @param {string | Multiaddr} ma - The multiaddr string or object to convert.
 * @returns {IpNet} The converted IpNet object.
 * @throws {Error} Throws an error if the multiaddr is not valid.
 */
export declare function multiaddrToIpNet(ma: string | Multiaddr): IpNet;
//# sourceMappingURL=utils.d.ts.map