function _define_property(obj, key, value) {
    if (key in obj) Object.defineProperty(obj, key, {
        value: value,
        enumerable: true,
        configurable: true,
        writable: true
    });
    else obj[key] = value;
    return obj;
}
class CollectionTemplate {
    constructor(collectionTemplateManager){
        _define_property(this, "collectionTemplateManager", void 0);
        _define_property(this, "name", void 0);
        _define_property(this, "Collection", void 0);
        _define_property(this, "title", void 0);
        _define_property(this, "color", void 0);
        _define_property(this, "order", void 0);
        _define_property(this, "default", void 0);
        _define_property(this, "events", void 0);
        _define_property(this, "configurableProperties", void 0);
        _define_property(this, "availableFieldInterfaces", void 0);
        _define_property(this, "divider", void 0);
        _define_property(this, "description", void 0);
        _define_property(this, "configureActions", void 0);
        _define_property(this, "forbidDeletion", void 0);
        _define_property(this, "supportDataSourceType", void 0);
        _define_property(this, "notSupportDataSourceType", void 0);
        this.collectionTemplateManager = collectionTemplateManager;
    }
}
export { CollectionTemplate };
