/*
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/Clonable","../../core/Collection","../../core/collectionUtils","../../core/JSONSupport","../../core/accessorSupport/decorators/property","../../core/arrayUtils","../../core/has","../../core/accessorSupport/ensureType","../../core/accessorSupport/decorators/subclass","./VoxelIsosurface","./VoxelTransferFunctionStyle","./VoxelUniqueValue"],(function(e,r,t,s,o,u,n,i,l,a,c,p,y,d){"use strict";let f=function(r){function t(e){var t;return(t=r.call(this,e)||this).variableId=0,t.label=null,t.transferFunction=null,t.uniqueValues=new s,t.isosurfaces=new s,t}return e._inheritsLoose(t,r),e._createClass(t,[{key:"uniqueValues",set:function(e){this._set("uniqueValues",o.referenceSetter(e,this._get("uniqueValues"),s.ofType(d)))}},{key:"isosurfaces",set:function(e){this._set("isosurfaces",o.referenceSetter(e,this._get("isosurfaces"),s.ofType(p)))}}]),t}(t.ClonableMixin(u.JSONSupport));r.__decorate([n.property({type:a.Integer,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"variableId",void 0),r.__decorate([n.property({type:String,json:{write:!0}})],f.prototype,"label",void 0),r.__decorate([n.property({type:y,json:{write:{enabled:!0,overridePolicy(){return{enabled:!this.uniqueValues||this.uniqueValues.length<1}}}}})],f.prototype,"transferFunction",void 0),r.__decorate([n.property({type:s.ofType(d),json:{write:{enabled:!0,overridePolicy(){return{enabled:!!this.uniqueValues&&this.uniqueValues.length>0}}}}})],f.prototype,"uniqueValues",null),r.__decorate([n.property({type:s.ofType(p),json:{write:{enabled:!0,overridePolicy(){const e=!this.uniqueValues||this.uniqueValues.length<1,r=!!this.isosurfaces&&this.isosurfaces.length>0;return{enabled:e&&r}}}}})],f.prototype,"isosurfaces",null),f=r.__decorate([c.subclass("esri.layers.support.VoxelVariableStyle")],f);return f}));
