export declare class TemplateMetadata {
    constructor(template: any);
    _id: string;
    type: string;
    systemDefined: boolean;
    path: string;
    name: string;
    fileName: string;
    created: Date;
    modified: Date;
    description: string;
    organization: string;
    author: string;
    version: string;
    language: string;
}
export declare class Template {
    templateType: string;
    schema: any;
    form: Array<DefinedItem>;
    constructor(info: any);
}
export declare class DefinedItem {
    id: string;
    type: string;
    title: string;
    key: string;
    expandable: boolean;
    expanded: boolean;
    description: string;
    items: Array<VirtualItem>;
    constructor(item: any);
}
export declare class VirtualItem {
    id: string;
    key: string;
    type: string;
    title: string;
    isVirtual: boolean;
    expandable: boolean;
    expanded: boolean;
    items: Array<PropertyItem>;
    constructor(item: any);
}
export declare class PropertyItem {
    id: string;
    key: string;
    title: string;
    type: string;
    originalTitle: string;
    description: string;
    originalDescription: string;
    items: Array<any>;
    enum: Array<any>;
    required: boolean;
    readonly: boolean;
    default: string;
    constructor(item: any);
}
