export class Cluster extends Host {
    static get typeDefinition(): {
        name: string;
        owners: (string | {
            name: string;
            owners: string[];
            priority: number;
            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: {
                networks: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                hosts: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                clusters: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                subnets: {
                    type: {
                        name: string;
                        owners: string[];
                        priority: number;
                        constructWithIdentifierOnly: boolean;
                        properties: {
                            address: {
                                type: string;
                                collection: boolean;
                                writeable: boolean;
                                identifier: boolean;
                            };
                            networks: {
                                type: string;
                                collection: boolean;
                                writeable: boolean;
                            };
                            prefixLength: {
                                type: string;
                                collection: boolean;
                                writeable: boolean;
                            };
                        };
                    };
                    collection: boolean;
                    writeable: boolean;
                };
                country: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                domain: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                domains: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                timezone: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                architectures: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                locales: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                administratorEmail: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
            };
        })[];
        priority: number;
        extends: {
            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;
                };
            };
        };
        properties: {
            routerId: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            masters: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            backups: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            members: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
            checkInterval: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
        };
    };
    _masters: Set<any>;
    _backups: Set<any>;
    routerId: number;
    checkInterval: number;
    set masters(value: Set<any>);
    get masters(): Set<any>;
    set backups(value: Set<any>);
    get backups(): Set<any>;
    get members(): Set<any>;
    preparePackages(stagingDir: any): AsyncGenerator<{
        sources: AsyncIterable<import("content-entry").ContentEntry>[];
        outputs: any;
        properties: {
            name: string;
            description: string;
            access: string;
            dependencies: string[];
            replaces: string[];
        };
    }, void, unknown>;
}
import { Host } from "./host.mjs";
