export class Host extends Base {
    static get typeDefinition(): {
        name: string;
        priority: number;
        owners: string[];
        extends: {
            name: string;
            owners: any[];
            properties: {
                owner: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                type: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                name: {
                    type: string;
                    collection: boolean;
                    identifier: boolean;
                    writeable: boolean;
                };
                description: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                priority: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                directory: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                packaging: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                tags: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
            };
        };
        properties: {
            networkInterfaces: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            services: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            aliases: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            os: {
                type: string;
                collection: boolean;
                writeable: boolean;
                values: string[];
            };
            "machine-id": {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            distribution: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            deployment: {
                type: string;
                collection: boolean;
                writeable: boolean;
                values: string[];
            };
            weight: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            serial: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            vendor: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            chassis: {
                type: string;
                collection: boolean;
                writeable: boolean;
                values: string[];
            };
            architecture: {
                type: string;
                collection: boolean;
                writeable: boolean;
                values: string[];
            };
            replaces: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            depends: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            provides: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            extends: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            model: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            isModel: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            hostName: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            cidrAddresses: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            cidrAddress: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            addresses: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            address: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
        };
    };
    _services: any[];
    _extends: any[];
    _aliases: Set<any>;
    _networkInterfaces: Map<any, any>;
    _provides: Set<any>;
    _replaces: Set<any>;
    _depends: Set<any>;
    _os: any;
    _distribution: any;
    _deployment: any;
    _chassis: any;
    _vendor: any;
    _architecture: any;
    _serial: any;
    _applyExtends(host: any): void;
    set services(service: any[]);
    get services(): any[];
    _traverse(...args: any[]): boolean;
    set serial(value: any);
    get serial(): any;
    set deployment(value: any);
    get deployment(): any;
    set chassis(value: any);
    get chassis(): any;
    set vendor(value: any);
    get vendor(): any;
    set architecture(value: any);
    get architecture(): any;
    get isTemplate(): true | RegExpMatchArray;
    get isModel(): boolean;
    get model(): any;
    set aliases(value: any);
    get aliases(): any;
    set extends(value: any[]);
    get extends(): any[];
    set provides(value: any);
    get provides(): any;
    set replaces(value: any);
    get replaces(): any;
    set depends(value: any);
    get depends(): any;
    set os(value: any);
    get os(): any;
    set distribution(value: any);
    get distribution(): any;
    get modelName(): any;
    get hostName(): string;
    get foreignDomainNames(): any[];
    get foreignDomains(): Set<any>;
    get domains(): Set<any>;
    get directDomainNames(): Set<any>;
    get domainNames(): Set<any>;
    get domainName(): any;
    domainNamesIn(domain: any): Generator<any, void, unknown>;
    get clusters(): Set<any>;
    get host(): this;
    named(name: any): any;
    get networks(): Set<any>;
    findNetworkInterfaces(filter: any): Generator<any, void, any>;
    findNetworkInterface(filter: any): any;
    set networkInterfaces(networkInterface: Map<any, any>);
    get networkInterfaces(): Map<any, any>;
    networkAddresses(filter: any): Generator<any, void, any>;
    get address(): any;
    get addresses(): any[];
    subnets(): Generator<any, void, any>;
    publicKey(type?: string): Promise<string>;
    preparePackages(dir: any): AsyncGenerator<{
        dir: any;
        sources: FileContentProvider[];
        outputs: Set<typeof import("npm-pkgbuild").ARCH | typeof import("npm-pkgbuild").DOCKER>;
        properties: {
            name: string;
            description: string;
            access: string;
            dependencies: any[];
            provides: any[];
            replaces: any[];
            backup: string;
            hooks: any;
        };
    }, void, unknown>;
}
import { Base } from "./base.mjs";
import { FileContentProvider } from "npm-pkgbuild";
