# Interface methods for submodule: GradientDescentOptimizerv4Template
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import GradientDescentOptimizerBasev4TemplateProxy as _GradientDescentOptimizerBasev4TemplateProxy


# Interface methods for class: GradientDescentOptimizerv4Template
class GradientDescentOptimizerv4TemplateProxy(_GradientDescentOptimizerBasev4TemplateProxy):
	def GetNameOfClass(self):
		""""""
		...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	def StartOptimization(self, doOnlyInitialization: bool = False) -> None:
		""""""
		...

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

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

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

