# Interface methods for submodule: EuclideanDistancePointSetToPointSetMetricv4
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import ObjectToObjectMetricProxy as _ObjectToObjectMetricProxy


# Interface methods for class: EuclideanDistancePointSetToPointSetMetricv4
class EuclideanDistancePointSetToPointSetMetricv4Proxy(_ObjectToObjectMetricProxy):
	def GetNameOfClass(self):
		""""""
		...

	def SetFixedObject(self, object) -> None:
		""""""
		...

	def SetMovingObject(self, object) -> None:
		""""""
		...

	def SetFixedPointSet(self, _arg) -> None:
		""""""
		...

	def GetFixedPointSet(self):
		""""""
		...

	def GetModifiableFixedTransformedPointSet(self):
		""""""
		...

	def GetFixedTransformedPointSet(self):
		""""""
		...

	def SetMovingPointSet(self, _arg) -> None:
		""""""
		...

	def GetMovingPointSet(self):
		""""""
		...

	def GetModifiableMovingTransformedPointSet(self):
		""""""
		...

	def GetMovingTransformedPointSet(self):
		""""""
		...

	def GetNumberOfComponents(self) -> int:
		""""""
		...

	def GetValue(self) -> float:
		""""""
		...

	def GetDerivative(self, arg0: Sequence[float]) -> None:
		""""""
		...

	def GetValueAndDerivative(self, arg0: float, arg1: Sequence[float]) -> None:
		""""""
		...

	def GetVirtualTransformedPointSet(self):
		""""""
		...

	def Initialize(self) -> None:
		""""""
		...

	def SupportsArbitraryVirtualDomainSamples(self) -> bool:
		""""""
		...

	def SetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self, _arg: bool) -> None:
		""""""
		...

	def GetStoreDerivativeAsSparseFieldForLocalSupportTransforms(self) -> bool:
		""""""
		...

	def StoreDerivativeAsSparseFieldForLocalSupportTransformsOn(self) -> None:
		""""""
		...

	def StoreDerivativeAsSparseFieldForLocalSupportTransformsOff(self) -> None:
		""""""
		...

	def SetCalculateValueAndDerivativeInTangentSpace(self, _arg: bool) -> None:
		""""""
		...

	def GetCalculateValueAndDerivativeInTangentSpace(self) -> bool:
		""""""
		...

	def CalculateValueAndDerivativeInTangentSpaceOn(self) -> None:
		""""""
		...

	def CalculateValueAndDerivativeInTangentSpaceOff(self) -> None:
		""""""
		...

	@overload
	def GetLocalNeighborhoodValue(self, arg0: Sequence[float], pixel: float) -> float:
		""""""
		...

	@overload
	def GetLocalNeighborhoodValue(self, arg0: Sequence[float], pixel: int) -> float:
		""""""
		...

	@overload
	def GetLocalNeighborhoodValue(self, arg0: Sequence[float], pixel: float = 0) -> float:
		""""""
		...

	@overload
	def GetLocalNeighborhoodValue(self, arg0: Sequence[float], pixel: int = 0) -> float:
		""""""
		...

	@overload
	def GetLocalNeighborhoodDerivative(self, arg0: Sequence[float], pixel: float) -> Sequence[float]:
		""""""
		...

	@overload
	def GetLocalNeighborhoodDerivative(self, arg0: Sequence[float], pixel: int) -> Sequence[float]:
		""""""
		...

	@overload
	def GetLocalNeighborhoodValueAndDerivative(self, arg0: Sequence[float], arg1: float, arg2: Sequence[float], pixel: float) -> None:
		""""""
		...

	@overload
	def GetLocalNeighborhoodValueAndDerivative(self, arg0: Sequence[float], arg1: float, arg2: Sequence[float], pixel: int) -> None:
		""""""
		...

	@overload
	def GetLocalNeighborhoodValueAndDerivative(self, arg0: Sequence[float], arg1: float, arg2: Sequence[float], pixel: float = 0) -> None:
		""""""
		...

	@overload
	def GetLocalNeighborhoodValueAndDerivative(self, arg0: Sequence[float], arg1: float, arg2: Sequence[float], pixel: int = 0) -> None:
		""""""
		...

	@staticmethod
	def New():
		""""""
		...

	def Clone(self):
		""""""
		...

	def SetDistanceThreshold(self, _arg: float) -> None:
		""""""
		...

	def GetDistanceThreshold(self) -> float:
		""""""
		...

