export class HeadscaleService extends Service {
    static get typeDefinition(): {
        name: string;
        extends: {
            name: string;
            owners: (string | {
                name: string;
                owners: string[];
                extends: typeof import("pmcf").Base;
                key: string;
                attributes: {
                    networkInterfaces: {
                        type: string;
                        collection: boolean;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        values?: Set<any>;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    services: {
                        type: string;
                        collection: boolean;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        values?: Set<any>;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    aliases: import("pacc").AttributeDefinition;
                    os: {
                        values: string[];
                        type: object;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        collection: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    "machine-id": import("pacc").AttributeDefinition;
                    distribution: import("pacc").AttributeDefinition;
                    deployment: {
                        values: string[];
                        type: object;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        collection: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    weight: import("pacc").AttributeDefinition;
                    serial: import("pacc").AttributeDefinition;
                    vendor: import("pacc").AttributeDefinition;
                    keymap: import("pacc").AttributeDefinition;
                    chassis: {
                        values: string[];
                        type: object;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        collection: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    architecture: {
                        values: string[];
                        type: object;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        collection: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    replaces: import("pacc").AttributeDefinition;
                    depends: import("pacc").AttributeDefinition;
                    provides: import("pacc").AttributeDefinition;
                    extends: {
                        type: string;
                        collection: boolean;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        values?: Set<any>;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    model: import("pacc").AttributeDefinition;
                    isModel: import("pacc").AttributeDefinition;
                    hostName: {
                        writable: boolean;
                        type: object;
                        isKey: boolean;
                        mandatory: boolean;
                        collection: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        values?: Set<any>;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    cidrAddresses: import("pacc").AttributeDefinition;
                    cidrAddress: import("pacc").AttributeDefinition;
                    addresses: import("pacc").AttributeDefinition;
                    address: import("pacc").AttributeDefinition;
                };
            })[];
            extends: typeof import("pmcf").Base;
            specializations: {};
            factoryFor(owner: any, value: any): any;
            key: string;
            attributes: {
                alias: import("pacc").AttributeDefinition;
                weight: {
                    type: object;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    values?: Set<any>;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                systemdService: import("pacc").AttributeDefinition;
                port: import("pacc").AttributeDefinition;
                protocol: {
                    values: string[];
                    type: object;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                type: import("pacc").AttributeDefinition;
                types: import("pacc").AttributeDefinition;
                tls: import("pacc").AttributeDefinition;
                hostName: {
                    writable: boolean;
                    type: object;
                    isKey: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    values?: Set<any>;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                cidrAddresses: import("pacc").AttributeDefinition;
                cidrAddress: import("pacc").AttributeDefinition;
                addresses: import("pacc").AttributeDefinition;
                address: import("pacc").AttributeDefinition;
            };
        };
        specializationOf: {
            name: string;
            owners: (string | {
                name: string;
                owners: string[];
                extends: typeof import("pmcf").Base;
                key: string;
                attributes: {
                    networkInterfaces: {
                        type: string;
                        collection: boolean;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        values?: Set<any>;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    services: {
                        type: string;
                        collection: boolean;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        values?: Set<any>;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    aliases: import("pacc").AttributeDefinition;
                    os: {
                        values: string[];
                        type: object;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        collection: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    "machine-id": import("pacc").AttributeDefinition;
                    distribution: import("pacc").AttributeDefinition;
                    deployment: {
                        values: string[];
                        type: object;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        collection: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    weight: import("pacc").AttributeDefinition;
                    serial: import("pacc").AttributeDefinition;
                    vendor: import("pacc").AttributeDefinition;
                    keymap: import("pacc").AttributeDefinition;
                    chassis: {
                        values: string[];
                        type: object;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        collection: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    architecture: {
                        values: string[];
                        type: object;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        collection: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    replaces: import("pacc").AttributeDefinition;
                    depends: import("pacc").AttributeDefinition;
                    provides: import("pacc").AttributeDefinition;
                    extends: {
                        type: string;
                        collection: boolean;
                        isKey: boolean;
                        writable: boolean;
                        mandatory: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        values?: Set<any>;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    model: import("pacc").AttributeDefinition;
                    isModel: import("pacc").AttributeDefinition;
                    hostName: {
                        writable: boolean;
                        type: object;
                        isKey: boolean;
                        mandatory: boolean;
                        collection: boolean;
                        constructor?: Function;
                        private?: boolean;
                        credential?: boolean;
                        persistent?: boolean;
                        depends?: string;
                        description?: string;
                        default?: any;
                        set?: Function;
                        get?: Function;
                        toInternal?: Function;
                        toExternal?: Function;
                        values?: Set<any>;
                        externalName?: string;
                        env?: string[] | string;
                        additionalValues?: object;
                    };
                    cidrAddresses: import("pacc").AttributeDefinition;
                    cidrAddress: import("pacc").AttributeDefinition;
                    addresses: import("pacc").AttributeDefinition;
                    address: import("pacc").AttributeDefinition;
                };
            })[];
            extends: typeof import("pmcf").Base;
            specializations: {};
            factoryFor(owner: any, value: any): any;
            key: string;
            attributes: {
                alias: import("pacc").AttributeDefinition;
                weight: {
                    type: object;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    values?: Set<any>;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                systemdService: import("pacc").AttributeDefinition;
                port: import("pacc").AttributeDefinition;
                protocol: {
                    values: string[];
                    type: object;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                type: import("pacc").AttributeDefinition;
                types: import("pacc").AttributeDefinition;
                tls: import("pacc").AttributeDefinition;
                hostName: {
                    writable: boolean;
                    type: object;
                    isKey: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    values?: Set<any>;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                cidrAddresses: import("pacc").AttributeDefinition;
                cidrAddress: import("pacc").AttributeDefinition;
                addresses: import("pacc").AttributeDefinition;
                address: import("pacc").AttributeDefinition;
            };
        };
        owners: (string | {
            name: string;
            owners: string[];
            extends: typeof import("pmcf").Base;
            key: string;
            attributes: {
                networkInterfaces: {
                    type: string;
                    collection: boolean;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    values?: Set<any>;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                services: {
                    type: string;
                    collection: boolean;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    values?: Set<any>;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                aliases: import("pacc").AttributeDefinition;
                os: {
                    values: string[];
                    type: object;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                "machine-id": import("pacc").AttributeDefinition;
                distribution: import("pacc").AttributeDefinition;
                deployment: {
                    values: string[];
                    type: object;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                weight: import("pacc").AttributeDefinition;
                serial: import("pacc").AttributeDefinition;
                vendor: import("pacc").AttributeDefinition;
                keymap: import("pacc").AttributeDefinition;
                chassis: {
                    values: string[];
                    type: object;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                architecture: {
                    values: string[];
                    type: object;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                replaces: import("pacc").AttributeDefinition;
                depends: import("pacc").AttributeDefinition;
                provides: import("pacc").AttributeDefinition;
                extends: {
                    type: string;
                    collection: boolean;
                    isKey: boolean;
                    writable: boolean;
                    mandatory: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    values?: Set<any>;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                model: import("pacc").AttributeDefinition;
                isModel: import("pacc").AttributeDefinition;
                hostName: {
                    writable: boolean;
                    type: object;
                    isKey: boolean;
                    mandatory: boolean;
                    collection: boolean;
                    constructor?: Function;
                    private?: boolean;
                    credential?: boolean;
                    persistent?: boolean;
                    depends?: string;
                    description?: string;
                    default?: any;
                    set?: Function;
                    get?: Function;
                    toInternal?: Function;
                    toExternal?: Function;
                    values?: Set<any>;
                    externalName?: string;
                    env?: string[] | string;
                    additionalValues?: object;
                };
                cidrAddresses: import("pacc").AttributeDefinition;
                cidrAddress: import("pacc").AttributeDefinition;
                addresses: import("pacc").AttributeDefinition;
                address: import("pacc").AttributeDefinition;
            };
        })[];
        key: string;
        service: {
            endpoints: ({
                family: string;
                path: string;
                port?: undefined;
                protocol?: undefined;
                tls?: undefined;
                description?: undefined;
            } | {
                family: string;
                port: number;
                protocol: string;
                tls: boolean;
                path?: undefined;
                description?: undefined;
            } | {
                description: string;
                family: string;
                port: number;
                protocol: string;
                tls: boolean;
                path?: undefined;
            })[];
        };
    };
}
import { Service } from "../service.mjs";
