export function extractFrom(object: any, typeDefinition?: any): any;
export class Base {
    static get typeName(): string;
    static get typeDefinition(): {
        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;
            };
        };
    };
    static get typeFileName(): string;
    static get fileNameGlob(): string;
    constructor(owner: any, data: any);
    owner: any;
    description: any;
    name: string;
    _tags: Set<any>;
    _packaging: Set<any>;
    _directory: any;
    _finalize: any;
    ownerFor(property: any, data: any): any;
    read(data: any, type: any): void;
    named(name: any): void;
    typeNamed(typeName: any, name: any): any;
    addObject(object: any): any;
    forOwner(owner: any): any;
    isNamed(name: any): boolean;
    relativeName(name: any): any;
    get typeName(): any;
    get extends(): any[];
    _extendedProperty(propertyName: any, seen: any): any;
    extendedProperty(propertyName: any): any;
    get root(): any;
    get location(): any;
    get host(): any;
    get network(): any;
    get domain(): any;
    get domains(): any;
    get localDomains(): any;
    get administratorEmail(): any;
    get locales(): any;
    get country(): any;
    get timezone(): any;
    set priority(value: any);
    get priority(): any;
    _priority: any;
    get smtp(): any;
    findService(filter: any): any;
    findServices(filter: any): Generator<any, void, any>;
    set directory(directory: any);
    get directory(): any;
    get fullName(): any;
    set packaging(value: Set<any>);
    get packaging(): Set<any>;
    get derivedPackaging(): any;
    get outputs(): Set<typeof import("npm-pkgbuild").ARCH | typeof import("npm-pkgbuild").DOCKER>;
    preparePackages(stagingDir: any): AsyncGenerator<{
        sources: any[];
        outputs: Set<typeof import("npm-pkgbuild").ARCH | typeof import("npm-pkgbuild").DOCKER>;
        properties: {
            description: string;
            access: string;
        };
    }, void, unknown>;
    set tags(value: Set<any>);
    get tags(): Set<any>;
    get isTemplate(): boolean;
    expand(object: any): any;
    finalize(action: any): void;
    execFinalize(): void;
    _execFinalize(): void;
    traverse(visitor: any, ...args: any[]): void;
    _traverse(visited: any, visitor: any, ...args: any[]): boolean;
    error(...args: any[]): void;
    info(...args: any[]): void;
    toString(): string;
    toJSON(): any;
}
