/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../../../../core/Error","../enums","../materialKey/MaterialKey","./Technique","./dotDensity/TechniqueDotDensity","./heatmap/TechniqueHeatmap","./pieChart/TechniquePieChart"],(function(e,t,r,n,i,a,c,o){"use strict";function u(e,r){if(e.type!==r)throw new t("material-view-model:unexpected-renderer-schema",`expected to find renderer schema of type "${r}" but found type "${e.type}"`)}function y(e){switch(e.type){case"dot-density":return a.DotDensityTechnique;case"heatmap":return c.HeatmapTechnique;case"pie-chart":return o.PieChartTechnique;default:return i.Technique}}function h(e){const{geometryType:t,symbologyType:u}=n.MaterialKeyBase.load(e);switch(t){case r.WGLGeometryType.FILL:if(u===r.WGLSymbologyType.DOT_DENSITY)return a.DotDensityTechnique;break;case r.WGLGeometryType.MARKER:switch(u){case r.WGLSymbologyType.HEATMAP:return c.HeatmapTechnique;case r.WGLSymbologyType.PIE_CHART:return o.PieChartTechnique}}return i.Technique}e.assertRendererSchema=u,e.getTechniqueFromMaterialKey=h,e.getTechniqueFromRenderer=y,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
