# Interface methods for submodule: LBFGSOptimizerv4
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import SingleValuedNonLinearVnlOptimizerv4Proxy as _SingleValuedNonLinearVnlOptimizerv4Proxy


# Interface methods for class: LBFGSOptimizerv4
class LBFGSOptimizerv4Proxy(_SingleValuedNonLinearVnlOptimizerv4Proxy):
	def GetNameOfClass(self):
		""""""
		...

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

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

	def SetMetric(self, metric) -> None:
		""""""
		...

	def SetTrace(self, flag: bool) -> None:
		""""""
		...

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

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

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

	def SetMaximumNumberOfFunctionEvaluations(self, n: int) -> None:
		""""""
		...

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

	def SetGradientConvergenceTolerance(self, f: float) -> None:
		""""""
		...

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

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

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

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

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

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

	def SetLineSearchAccuracy(self, f: float) -> None:
		""""""
		...

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

	def SetDefaultStepLength(self, f: float) -> None:
		""""""
		...

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

