/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{__decorate as e}from"tslib";import{JSONSupport as r}from"../../core/JSONSupport.js";import{clone as t}from"../../core/lang.js";import{property as i,subclass as o}from"../../core/accessorSupport/decorators.js";import s from"./BuildingFilterMode.js";import l from"./BuildingFilterModeSolid.js";import p from"./BuildingFilterModeWireFrame.js";import n from"./BuildingFilterModeXRay.js";var d;let a=d=class extends r{constructor(e){super(e),this.filterExpression=null,this.filterMode=new l,this.title=""}clone(){return new d({filterExpression:this.filterExpression,filterMode:t(this.filterMode),title:this.title})}};e([i({type:String,json:{write:{enabled:!0,isRequired:!0}}})],a.prototype,"filterExpression",void 0),e([i({nonNullable:!0,types:{key:"type",base:s,typeMap:{solid:l,"wire-frame":p,"x-ray":n}},json:{read:e=>{switch(e?.type){case"solid":return l.fromJSON(e);case"wireFrame":return p.fromJSON(e);case"x-ray":return n.fromJSON(e);default:return}},write:{enabled:!0,isRequired:!0}}})],a.prototype,"filterMode",void 0),e([i({type:String,json:{write:{enabled:!0,isRequired:!0}}})],a.prototype,"title",void 0),a=d=e([o("esri.layers.support.BuildingFilterBlock")],a);const f=a;export{f as default};
