export namespace ExtraSourceServiceTypeDefinition {
    export let name: string;
    export let owners: string[];
    export { ServiceTypeDefinition as extends };
    export let priority: number;
    export namespace properties {
        namespace source {
            let type: string;
            let collection: boolean;
            let writeable: boolean;
        }
    }
}
export class ExtraSourceService extends Service {
    static get typeDefinition(): {
        name: string;
        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: {
            source: {
                type: string;
                collection: boolean;
                writeable: boolean;
            };
        };
    };
    _source: any[];
    get type(): string;
    set source(value: any[]);
    get source(): any[];
}
import { ServiceTypeDefinition } from "./service.mjs";
import { Service } from "./service.mjs";
