import e from"@arcgis/core/layers/support/LabelClass";import{assertNever as r,checkArg as n}from"../utilities/checkArg.js";export var LabelingInfo;!function(r){r.toEsriApiLabelClass=function(r){return n("labelingInfo",r).isNotMissing(),e.fromJSON(r)},r.fromEsriApiLabelClass=function(e){return n("labelClass",e).isNotMissing(),e.toJSON()}}(LabelingInfo||(LabelingInfo={}));export var LabelPlacement;function t(e,n){const t=e;switch(t){case"above-after":return"esriServerLinePlacementAboveAfter";case"above-along":return"esriServerLinePlacementAboveAlong";case"above-before":return"esriServerLinePlacementAboveBefore";case"above-center":return"esriServerPointLabelPlacementAboveCenter";case"above-end":return"esriServerLinePlacementAboveEnd";case"above-left":return"esriServerPointLabelPlacementAboveLeft";case"above-right":return"esriServerPointLabelPlacementAboveRight";case"above-start":return"esriServerLinePlacementAboveStart";case"always-horizontal":return"esriServerPolygonPlacementAlwaysHorizontal";case"below-after":return"esriServerLinePlacementBelowAfter";case"below-along":return"esriServerLinePlacementBelowAlong";case"below-before":return"esriServerLinePlacementBelowBefore";case"below-center":return"esriServerPointLabelPlacementBelowCenter";case"below-end":return"esriServerLinePlacementBelowEnd";case"below-left":return"esriServerPointLabelPlacementBelowLeft";case"below-right":return"esriServerPointLabelPlacementBelowRight";case"below-start":return"esriServerLinePlacementBelowStart";case"center-after":return"esriServerLinePlacementCenterAfter";case"center-along":return"esriServerLinePlacementCenterAlong";case"center-before":return"esriServerLinePlacementCenterBefore";case"center-center":return"esriServerPointLabelPlacementCenterCenter";case"center-end":return"esriServerLinePlacementCenterEnd";case"center-left":return"esriServerPointLabelPlacementCenterLeft";case"center-right":return"esriServerPointLabelPlacementCenterRight";case"center-start":return"esriServerLinePlacementCenterStart";default:return r(t,n)}}function a(e,n){const t=e;switch(t){case"esriServerLinePlacementAboveAfter":return"above-after";case"esriServerLinePlacementAboveAlong":return"above-along";case"esriServerLinePlacementAboveBefore":return"above-before";case"esriServerPointLabelPlacementAboveCenter":return"above-center";case"esriServerLinePlacementAboveEnd":return"above-end";case"esriServerPointLabelPlacementAboveLeft":return"above-left";case"esriServerPointLabelPlacementAboveRight":return"above-right";case"esriServerLinePlacementAboveStart":return"above-start";case"esriServerPolygonPlacementAlwaysHorizontal":return"always-horizontal";case"esriServerLinePlacementBelowAfter":return"below-after";case"esriServerLinePlacementBelowAlong":return"below-along";case"esriServerLinePlacementBelowBefore":return"below-before";case"esriServerPointLabelPlacementBelowCenter":return"below-center";case"esriServerLinePlacementBelowEnd":return"below-end";case"esriServerPointLabelPlacementBelowLeft":return"below-left";case"esriServerPointLabelPlacementBelowRight":return"below-right";case"esriServerLinePlacementBelowStart":return"below-start";case"esriServerLinePlacementCenterAfter":return"center-after";case"esriServerLinePlacementCenterAlong":return"center-along";case"esriServerLinePlacementCenterBefore":return"center-before";case"esriServerPointLabelPlacementCenterCenter":return"center-center";case"esriServerLinePlacementCenterEnd":return"center-end";case"esriServerPointLabelPlacementCenterLeft":return"center-left";case"esriServerPointLabelPlacementCenterRight":return"center-right";case"esriServerLinePlacementCenterStart":return"center-start";default:return r(t,n)}}!function(e){e.fromEsriApiLabelPlacement=function(e){return!!a(e)?e:t(e,new Error("Unrecognized label placement."))},e.toEsriApiLabelPlacement=function(e){return!!t(e)?e:a(e,new Error("Unrecognized label placement."))}}(LabelPlacement||(LabelPlacement={}));