/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
import{__decorate as t}from"tslib";import{JSONSupport as e}from"../../core/JSONSupport.js";import{clone as r}from"../../core/lang.js";import{property as o,subclass as s}from"../../core/accessorSupport/decorators.js";import i from"../../geometry/Point.js";import{getJsonType as p}from"../../geometry/support/jsonTypeUtils.js";import{fromJSON as m}from"../../geometry/support/jsonUtils.js";import{geometryTypes as n}from"../../geometry/support/typeUtils.js";import l from"../../layers/support/MosaicRule.js";import a from"../../layers/support/RasterFunction.js";import u from"../../time/TimeExtent.js";import{writer as y}from"../../core/accessorSupport/decorators/writer.js";var c;let j=c=class extends e{constructor(t){super(t),this.geometry=null,this.mosaicRule=null,this.rasterFunction=null,this.pixelSize=null,this.raster=void 0,this.timeExtent=null}writeGeometry(t,e,r){null!=t&&(e.geometryType=p(t),e[r]=t.toJSON())}clone(){return new c(r({geometry:this.geometry,mosaicRule:this.mosaicRule,rasterFunction:this.rasterFunction,pixelSize:this.pixelSize,raster:this.raster,timeExtent:this.timeExtent}))}};t([o({types:n,json:{read:m}})],j.prototype,"geometry",void 0),t([y("geometry")],j.prototype,"writeGeometry",null),t([o({type:l,json:{write:!0}})],j.prototype,"mosaicRule",void 0),t([o({type:a,json:{write:!0,name:"renderingRule"}})],j.prototype,"rasterFunction",void 0),t([o({type:i,json:{write:!0}})],j.prototype,"pixelSize",void 0),t([o({json:{write:!0}})],j.prototype,"raster",void 0),t([o({type:u,json:{read:{source:"time"},write:{target:"time"}}})],j.prototype,"timeExtent",void 0),j=c=t([s("esri.rest.support.ImageHistogramParameters")],j);export{j as default};
