# Interface methods for submodule: ObjectToObjectMetricBaseTemplate
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import SingleValuedCostFunctionv4TemplateProxy as _SingleValuedCostFunctionv4TemplateProxy


# Interface methods for class: ObjectToObjectMetricBaseTemplate
class ObjectToObjectMetricBaseTemplateProxy(_SingleValuedCostFunctionv4TemplateProxy):
	def GetNameOfClass(self):
		""""""
		...

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

	def GetFixedObject(self):
		""""""
		...

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

	def GetMovingObject(self):
		""""""
		...

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

	def GetGradientSource(self):
		""""""
		...

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

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

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

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

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

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

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

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

	def SetParameters(self, params) -> None:
		""""""
		...

	def GetParameters(self):
		""""""
		...

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

	def UpdateTransformParameters(self, derivative: Sequence[float], factor: float = ...) -> None:
		""""""
		...

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

	def GetMetricCategory(self):
		""""""
		...

