/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{__decorate as t}from"tslib";import{JSONMap as e}from"../../../core/jsonMap.js";import{clone as o}from"../../../core/lang.js";import{property as r,subclass as s}from"../../../core/accessorSupport/decorators.js";import i from"./BaseFunctionArguments.js";import{writer as a}from"../../../core/accessorSupport/decorators/writer.js";import{enumeration as m}from"../../../core/accessorSupport/decorators/enumeration.js";var n;const p=new e({0:"none",3:"standard-deviation",4:"histogram-equalization",5:"min-max",6:"percent-clip",9:"sigmoid"},{useNumericKeys:!0});let u=n=class extends i{constructor(){super(...arguments),this.computeGamma=!1,this.dynamicRangeAdjustment=!1,this.gamma=[],this.histograms=null,this.statistics=null,this.stretchType="none",this.useGamma=!1}writeStatistics(t,e,o){t?.length&&(Array.isArray(t[0])||(t=t.map(t=>[t.min,t.max,t.avg,t.stddev])),e[o]=t)}clone(){return new n({stretchType:this.stretchType,outputMin:this.outputMin,outputMax:this.outputMax,useGamma:this.useGamma,computeGamma:this.computeGamma,statistics:o(this.statistics),gamma:o(this.gamma),sigmoidStrengthLevel:this.sigmoidStrengthLevel,numberOfStandardDeviations:this.numberOfStandardDeviations,minPercent:this.minPercent,maxPercent:this.maxPercent,histograms:o(this.histograms),dynamicRangeAdjustment:this.dynamicRangeAdjustment,raster:this.raster})}};t([r({type:Boolean,json:{write:!0}})],u.prototype,"computeGamma",void 0),t([r({type:Boolean,json:{name:"dra",write:!0}})],u.prototype,"dynamicRangeAdjustment",void 0),t([r({type:[Number],json:{write:!0}})],u.prototype,"gamma",void 0),t([r()],u.prototype,"histograms",void 0),t([r({type:Number,json:{write:!0}})],u.prototype,"maxPercent",void 0),t([r({type:Number,json:{write:!0}})],u.prototype,"minPercent",void 0),t([r({type:Number,json:{write:!0}})],u.prototype,"numberOfStandardDeviations",void 0),t([r({type:Number,json:{name:"max",write:!0}})],u.prototype,"outputMax",void 0),t([r({type:Number,json:{name:"min",write:!0}})],u.prototype,"outputMin",void 0),t([r({type:Number,json:{write:!0}})],u.prototype,"sigmoidStrengthLevel",void 0),t([r({json:{type:[[Number]],write:!0}})],u.prototype,"statistics",void 0),t([a("statistics")],u.prototype,"writeStatistics",null),t([m(p)],u.prototype,"stretchType",void 0),t([r({type:Boolean,json:{write:!0}})],u.prototype,"useGamma",void 0),u=n=t([s("esri.layers.raster.functions.StretchFunctionArguments")],u);const c=u;export{c as default};
