/*
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/accessorSupport/decorators/property","../../core/arrayUtils","../../core/has","../../core/accessorSupport/ensureType","../../core/accessorSupport/decorators/subclass"],(function(e,r,i,o,t,s,p,n){"use strict";var d;let a=d=function(r){function i(){var e;return(e=r.apply(this,arguments)||this).apronWidth=1,e.brickSize=[32,32,32],e.maxLodLevel=0,e.nodeSize=[4,4,4],e}return e._inheritsLoose(i,r),i.prototype.isValid=function(){const e=new d;return e.apronWidth===this.apronWidth&&e.maxLodLevel===this.maxLodLevel&&(!!this.brickSize&&(!!this.nodeSize&&(!(!Array.isArray(this.brickSize)||!Array.isArray(this.nodeSize))&&(3===this.brickSize.length&&3===this.nodeSize.length&&(32===this.brickSize[0]&&32===this.brickSize[1]&&32===this.brickSize[2]&&(4===this.nodeSize[0]&&4===this.nodeSize[1]&&4===this.nodeSize[2]))))))},i}(i.JSONSupport);r.__decorate([o.property({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],a.prototype,"apronWidth",void 0),r.__decorate([o.property({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],a.prototype,"brickSize",void 0),r.__decorate([o.property({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],a.prototype,"maxLodLevel",void 0),r.__decorate([o.property({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],a.prototype,"nodeSize",void 0),a=d=r.__decorate([n.subclass("esri.layers.support.VoxelVolumeIndex")],a);return a}));
