/*
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 e}from"tslib";import{ClonableMixin as o}from"../../core/Clonable.js";import{JSONMap as t}from"../../core/jsonMap.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as s,subclass as p}from"../../core/accessorSupport/decorators.js";import i from"../../geometry/Point.js";import{getJsonType as m}from"../../geometry/support/jsonTypeUtils.js";import{geometryTypes as a}from"../../geometry/support/typeUtils.js";import l from"../../layers/support/MosaicRule.js";import{writer as n}from"../../core/accessorSupport/decorators/writer.js";const u=new t({0:"constant",1:"plane",2:"minimum",3:"maximum",4:"average"},{useNumericKeys:!0});let c=class extends(o(r)){constructor(){super(...arguments),this.geometries=[],this.mosaicRule=null,this.pixelSize=null,this.constantZ=null,this.baseType="plane"}writeGeometries(e,o,t){e?.length&&(o.geometryType=m(e[0]),o.geometries=e.map(e=>e.toJSON()))}};e([s({types:[a]})],c.prototype,"geometries",void 0),e([n("geometries")],c.prototype,"writeGeometries",null),e([s({type:l,json:{write:!0}})],c.prototype,"mosaicRule",void 0),e([s({type:i,json:{write:!0}})],c.prototype,"pixelSize",void 0),e([s({json:{write:!0}})],c.prototype,"constantZ",void 0),e([s({type:u.apiValues,json:{read:u.read,write:u.write}})],c.prototype,"baseType",void 0),c=e([p("esri.rest.support.ImageVolumeParameters")],c);export{c as default};
