# Interface methods for submodule: ESMDemonsRegistrationFunction
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import PDEDeformableRegistrationFunctionProxy as _PDEDeformableRegistrationFunctionProxy


# Interface methods for class: ESMDemonsRegistrationFunction
class ESMDemonsRegistrationFunctionProxy(_PDEDeformableRegistrationFunctionProxy):
	@staticmethod
	def New():
		""""""
		...

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

	def GetNameOfClass(self):
		""""""
		...

	def SetMovingImageInterpolator(self, ptr) -> None:
		""""""
		...

	def GetMovingImageInterpolator(self):
		""""""
		...

	def ComputeGlobalTimeStep(self, arg0) -> float:
		""""""
		...

	def GetGlobalDataPointer(self):
		""""""
		...

	def ReleaseGlobalDataPointer(self, gd) -> None:
		""""""
		...

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

	def ComputeUpdate(self, it, gd, offset: Sequence[float] = ...) -> Sequence[float]:
		""""""
		...

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

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

	def SetIntensityDifferenceThreshold(self, arg0: float) -> None:
		""""""
		...

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

	def SetMaximumUpdateStepLength(self, sm: float) -> None:
		""""""
		...

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

	def SetUseGradientType(self, gtype) -> None:
		""""""
		...

	def GetUseGradientType(self):
		""""""
		...

