/*
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/JSONSupport","../../core/lang","../../core/accessorSupport/decorators/property","../../core/accessorSupport/ensureType","../../core/accessorSupport/decorators/subclass","./BuildingFilterMode","./BuildingFilterModeSolid","./BuildingFilterModeWireFrame","./BuildingFilterModeXRay"],(function(e,r,t,o,i,s,l,n,p,u,a){"use strict";var c;const d={nonNullable:!0,types:{key:"type",base:n,typeMap:{solid:p,"wire-frame":u,"x-ray":a}},json:{read:e=>{switch(e&&e.type){case"solid":return p.fromJSON(e);case"wireFrame":return u.fromJSON(e);case"x-ray":return a.fromJSON(e);default:return}},write:{enabled:!0,isRequired:!0}}};let y=c=function(r){function t(){var e;return(e=r.apply(this,arguments)||this).filterExpression=null,e.filterMode=new p,e.title="",e}return e._inheritsLoose(t,r),t.prototype.clone=function(){return new c({filterExpression:this.filterExpression,filterMode:o.clone(this.filterMode),title:this.title})},t}(t.JSONSupport);r.__decorate([i.property({type:String,json:{write:{enabled:!0,isRequired:!0}}})],y.prototype,"filterExpression",void 0),r.__decorate([i.property(d)],y.prototype,"filterMode",void 0),r.__decorate([i.property({type:String,json:{write:{enabled:!0,isRequired:!0}}})],y.prototype,"title",void 0),y=c=r.__decorate([l.subclass("esri.layers.support.BuildingFilterBlock")],y);return y}));
