/**
 *
 * @param {Iterable<Owner|string>} sources
 * @param {Object} options
 * @param {boolean} options.aggregate
 * @param {Object} options.filter
 * @returns {Iterable<string>} addresses
 */
export function addresses(sources: Iterable<Owner | string>, options: {
    aggregate: boolean;
    filter: any;
}): Iterable<string>;
/**
 *
 * @param {Array<NetworkAddress>} networkAddresses
 * @returns {Array<string>}
 */
export function cidrAddresses(networkAddresses: Array<NetworkAddress>): Array<string>;
export function sortByFamilyAndAddress(a: any, b: any): any;
/**
 *
 */
export class NetworkAddress {
    /**
     *
     * @param {NetworkInterface} networkInterface
     * @param {string|Uint8Array|Uint16Array} address
     * @param {Subnet} subnet
     */
    constructor(networkInterface: NetworkInterface, address: string | Uint8Array | Uint16Array, subnet: Subnet);
    /** @type {Subnet} */ subnet: Subnet;
    /** @type {NetworkInterface} */ networkInterface: NetworkInterface;
    /** @type {string|Uint8Array|Uint16Array} */ address: string | Uint8Array | Uint16Array;
    get domainNames(): Set<string>;
    get family(): any;
    get cidrAddress(): any;
    toString(): string;
}
import { Owner } from "pmcf";
import { Subnet } from "./subnet.mjs";
import { NetworkInterface } from "./network-interfaces/network-interface.mjs";
