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 CollectionFieldInterface {
    constructor(collectionFieldInterfaceManager){
        _define_property(this, "collectionFieldInterfaceManager", void 0);
        _define_property(this, "name", void 0);
        _define_property(this, "group", void 0);
        _define_property(this, "title", void 0);
        _define_property(this, "description", void 0);
        _define_property(this, "order", void 0);
        _define_property(this, "default", void 0);
        _define_property(this, "sortable", void 0);
        _define_property(this, "availableTypes", void 0);
        _define_property(this, "componentOptions", void 0);
        _define_property(this, "supportDataSourceType", void 0);
        _define_property(this, "notSupportDataSourceType", void 0);
        _define_property(this, "hasDefaultValue", void 0);
        _define_property(this, "isAssociation", void 0);
        _define_property(this, "operators", void 0);
        _define_property(this, "filterable", void 0);
        _define_property(this, "titleUsable", void 0);
        this.collectionFieldInterfaceManager = collectionFieldInterfaceManager;
    }
}
export { CollectionFieldInterface };
