/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{__decorate as o}from"tslib";import t from"../../core/Collection.js";import{JSONSupport as i}from"../../core/JSONSupport.js";import{clone as r}from"../../core/lang.js";import{generateUUID as e}from"../../core/uuid.js";import{property as s,subclass as n}from"../../core/accessorSupport/decorators.js";import l from"./BuildingFilterAuthoringInfo.js";import p from"./BuildingFilterAuthoringInfoCheckbox.js";import c from"./BuildingFilterBlock.js";var d;const u=t.ofType(c);let f=d=class extends i{constructor(o){super(o),this.description=null,this.filterBlocks=null,this.id=e(),this.name=null}clone(){return new d({description:this.description,filterBlocks:r(this.filterBlocks),id:this.id,name:this.name,filterAuthoringInfo:r(this.filterAuthoringInfo)})}};o([s({type:String,json:{write:!0}})],f.prototype,"description",void 0),o([s({type:u,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"filterBlocks",void 0),o([s({types:{key:"type",base:l,typeMap:{checkbox:p}},json:{read:o=>"checkbox"===o?.type?p.fromJSON(o):null,write:!0}})],f.prototype,"filterAuthoringInfo",void 0),o([s({type:String,constructOnly:!0,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"id",void 0),o([s({type:String,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"name",void 0),f=d=o([n("esri.layers.support.BuildingFilter")],f);export{f as default};
