/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../../../chunks/_rollupPluginBabelHelpers","../snappingUtils","./SnappingCandidate","../hints/LineSnappingHint","../hints/RightAngleSnappingHint"],(function(e,t,n,i,r,o){"use strict";let p=function(i){function p({coordinateHelper:e,targetPoint:t,constraint:n,previousVertex:r,otherVertex:o,otherVertexType:p,objectId:s,elevationInfo:h}){var a;return(a=i.call(this,e,t,n,h)||this).previousVertex=r,a.otherVertex=o,a.otherVertexType=p,a.objectId=s,a}return t._inheritsLoose(p,i),t._createClass(p,[{key:"hints",get:function(){const t=this.previousVertex,i=this.otherVertexType===e.OtherVertexType.CENTER?this.otherVertex:this.targetPoint,p=this.otherVertexType===e.OtherVertexType.CENTER?this.targetPoint:this.otherVertex,s=this.elevationInfo;return[new r.LineSnappingHint(n.LineSegmentHintType.TARGET,i,p,s),new r.LineSnappingHint(n.LineSegmentHintType.REFERENCE,t,i,s),new o.RightAngleSnappingHint(this.previousVertex,i,p,s)]}}]),p}(i.SnappingCandidate);var s;e.OtherVertexType=void 0,(s=e.OtherVertexType||(e.OtherVertexType={}))[s.NEXT=0]="NEXT",s[s.CENTER=1]="CENTER",e.RightAngleSnappingCandidate=p,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
