/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["../../chunks/_rollupPluginBabelHelpers","../../chunks/tslib.es6","../../core/Collection","../../core/JSONSupport","../../core/lang","../../core/uuid","../../core/accessorSupport/decorators/property","../../core/accessorSupport/ensureType","../../core/accessorSupport/decorators/subclass","./BuildingFilterAuthoringInfo","./BuildingFilterAuthoringInfoCheckbox","./BuildingFilterBlock"],(function(e,r,t,o,i,n,p,s,c,l,u,d){"use strict";var a;const y=t.ofType(d);let f=a=function(r){function t(){var e;return(e=r.apply(this,arguments)||this).description=null,e.filterBlocks=null,e.id=n.generateUUID(),e.name=null,e}return e._inheritsLoose(t,r),t.prototype.clone=function(){return new a({description:this.description,filterBlocks:i.clone(this.filterBlocks),id:this.id,name:this.name,filterAuthoringInfo:i.clone(this.filterAuthoringInfo)})},t}(o.JSONSupport);r.__decorate([p.property({type:String,json:{write:!0}})],f.prototype,"description",void 0),r.__decorate([p.property({type:y,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"filterBlocks",void 0),r.__decorate([p.property({types:{key:"type",base:l,typeMap:{checkbox:u}},json:{read:e=>"checkbox"===(e&&e.type)?u.fromJSON(e):null,write:!0}})],f.prototype,"filterAuthoringInfo",void 0),r.__decorate([p.property({type:String,constructOnly:!0,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"id",void 0),r.__decorate([p.property({type:String,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"name",void 0),f=a=r.__decorate([c.subclass("esri.layers.support.BuildingFilter")],f);return f}));
