/*
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/maybe","../../core/accessorSupport/decorators/property","../../core/arrayUtils","../../core/has","../../core/accessorSupport/ensureType","../../core/accessorSupport/decorators/subclass","../../geometry/Extent","../../geometry/SpatialReference","./RasterStorageInfo"],(function(e,t,o,r,i,p,n,s,a,l,y,c){"use strict";let u=function(t){function o(e){var o;return(o=t.call(this,e)||this).attributeTable=null,o.bandCount=null,o.colormap=null,o.extent=null,o.format=void 0,o.height=null,o.width=null,o.histograms=null,o.keyProperties={},o.multidimensionalInfo=null,o.noDataValue=null,o.pixelSize=null,o.pixelType=null,o.isPseudoSpatialReference=!1,o.spatialReference=null,o.statistics=null,o.storageInfo=null,o.transform=null,o}return e._inheritsLoose(o,t),e._createClass(o,[{key:"dataType",get:function(){var e,t,o;const r=null!=(e=null==(t=this.keyProperties)||null==(o=t.DataType)?void 0:o.toLowerCase())?e:"generic";return"stdtime"===r?"standard-time":r}},{key:"nativeExtent",get:function(){return this._get("nativeExtent")||this.extent},set:function(e){e&&this._set("nativeExtent",e)}},{key:"nativePixelSize",get:function(){if(r.isNone(this.transform)||!this.transform.affectsPixelSize)return this.pixelSize;const e=this.nativeExtent;return{x:e.width/this.width,y:e.height/this.height}}},{key:"hasMultidimensionalTranspose",get:function(){var e;return!(null==(e=this.storageInfo)||!e.transposeInfo)}}]),o}(o.JSONSupport);t.__decorate([i.property({json:{write:!0}})],u.prototype,"attributeTable",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"bandCount",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"colormap",void 0),t.__decorate([i.property({type:String,readOnly:!0})],u.prototype,"dataType",null),t.__decorate([i.property({type:l,json:{write:!0}})],u.prototype,"extent",void 0),t.__decorate([i.property({type:l,json:{write:!0}})],u.prototype,"nativeExtent",null),t.__decorate([i.property({json:{write:!0}})],u.prototype,"nativePixelSize",null),t.__decorate([i.property({json:{write:!0}})],u.prototype,"format",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"height",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"width",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"hasMultidimensionalTranspose",null),t.__decorate([i.property({json:{write:!0}})],u.prototype,"histograms",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"keyProperties",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"multidimensionalInfo",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"noDataValue",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"pixelSize",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"pixelType",void 0),t.__decorate([i.property()],u.prototype,"isPseudoSpatialReference",void 0),t.__decorate([i.property({type:y,json:{write:!0}})],u.prototype,"spatialReference",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"statistics",void 0),t.__decorate([i.property({type:c,json:{write:!0}})],u.prototype,"storageInfo",void 0),t.__decorate([i.property({json:{write:!0}})],u.prototype,"transform",void 0),u=t.__decorate([a.subclass("esri.layers.support.RasterInfo")],u);return u}));
