import e from"@arcgis/core/layers/support/MosaicRule";import{assertNever as r,checkArg as i}from"../utilities/checkArg.js";export var MosaicRule;!function(r){r.toEsriApiMosaicRule=function(r){return i("json",r).isNotMissing(),e.fromJSON(r)},r.fromEsriApiMosaicRule=function(e){return i("mosaicRule",e).isNotMissing(),e.toJSON()}}(MosaicRule||(MosaicRule={}));export var MosaicMethodType;function t(e,i){const t=e;switch(t){case"none":return"esriMosaicNone";case"center":return"esriMosaicCenter";case"nadir":return"esriMosaicNadir";case"viewpoint":return"esriMosaicViewPoint";case"attribute":return"esriMosaicAttribute";case"lock-raster":return"esriMosaicLockRaster";case"northwest":return"esriMosaicNorthwest";case"seamline":return"esriMosaicSeamline";default:return r(t,i)}}function s(e,i){const t=e;switch(t){case"esriMosaicNone":return"none";case"esriMosaicCenter":return"center";case"esriMosaicNadir":return"nadir";case"esriMosaicViewPoint":return"viewpoint";case"esriMosaicAttribute":return"attribute";case"esriMosaicLockRaster":return"lock-raster";case"esriMosaicNorthwest":return"northwest";case"esriMosaicSeamline":return"seamline";default:return r(t,i)}}!function(e){e.fromEsriApiMosaicMethodType=function(e){return!!s(e)?e:t(e,new Error("Unrecognized mosaic method type."))},e.toEsriApiMosaicMethodType=function(e){return!!t(e)?e:s(e,new Error("Symbol.toEsriApiSymbolType: Unrecognized mosaic method type."))}}(MosaicMethodType||(MosaicMethodType={}));export var MosaicOperationType;function o(e,i){const t=e;switch(t){case"MT_BLEND":return"blend";case"MT_FIRST":return"first";case"MT_LAST":return"last";case"MT_MAX":return"max";case"MT_MEAN":return"mean";case"MT_MIN":return"min";case"MT_SUM":return"sum";default:return r(t,i)}}function n(e,i){const t=e;switch(t){case"blend":return"MT_BLEND";case"first":return"MT_FIRST";case"last":return"MT_LAST";case"max":return"MT_MAX";case"mean":return"MT_MEAN";case"min":return"MT_MIN";case"sum":return"MT_SUM";default:return r(t,i)}}!function(e){e.fromEsriApiMosaicOperationType=function(e){return!!o(e)?e:n(e,new Error("Symbol.fromEsriApiMosaicOperationType: Unrecognized mosaic operation type."))},e.toEsriApiMosaicOperationType=function(e){return!!n(e)?e:o(e,new Error("Symbol.toEsriApiMosaicOperationType: Unrecognized mosaic operation type."))}}(MosaicOperationType||(MosaicOperationType={}));