# Interface methods for submodule: LevenbergMarquardtOptimizer
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import MultipleValuedNonLinearVnlOptimizerProxy as _MultipleValuedNonLinearVnlOptimizerProxy


# Interface methods for class: LevenbergMarquardtOptimizer
class LevenbergMarquardtOptimizerProxy(_MultipleValuedNonLinearVnlOptimizerProxy):
	@staticmethod
	def New():
		""""""
		...

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

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

	def GetOptimizer(self):
		""""""
		...

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

	def SetCostFunction(self, costFunction) -> None:
		""""""
		...

	def SetNumberOfIterations(self, iterations: int) -> None:
		""""""
		...

	def SetValueTolerance(self, tol: float) -> None:
		""""""
		...

	def SetGradientTolerance(self, tol: float) -> None:
		""""""
		...

	def SetEpsilonFunction(self, epsilon: float) -> None:
		""""""
		...

	def GetValue(self) -> Sequence[float]:
		""""""
		...

	def GetStopConditionDescription(self) -> str:
		""""""
		...

