export class DHCPService extends Service {
    static get typeDefinition(): {
        name: string;
        specializationOf: {
            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;
                    };
                };
            };
            specializations: {};
            factoryFor(owner: any, value: any): any;
            properties: {
                ipAddresses: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                alias: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                weight: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                    default: number;
                };
                systemd: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                port: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                protocol: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                    values: string[];
                };
                type: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                tls: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                    default: 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;
                };
            };
        };
        owners: string[];
        extends: {
            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;
                    };
                };
            };
            specializations: {};
            factoryFor(owner: any, value: any): any;
            properties: {
                ipAddresses: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                alias: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                weight: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                    default: number;
                };
                systemd: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                port: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                protocol: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                    values: string[];
                };
                type: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                };
                tls: {
                    type: string;
                    collection: boolean;
                    writeable: boolean;
                    default: 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;
                };
            };
        };
        priority: number;
        properties: {};
    };
    get type(): 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: string[];
        };
    }, void, unknown>;
}
import { Service } from "pmcf";
import { FileContentProvider } from "npm-pkgbuild";
