# Interface methods for submodule: LBFGSBOptimizer
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import SingleValuedNonLinearVnlOptimizerProxy as _SingleValuedNonLinearVnlOptimizerProxy


# Interface methods for class: LBFGSBOptimizer
class LBFGSBOptimizerProxy(_SingleValuedNonLinearVnlOptimizerProxy):
	@staticmethod
	def New():
		""""""
		...

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

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

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

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

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

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

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

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

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

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

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

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

	def SetBoundSelection(self, value: Sequence[int]) -> None:
		""""""
		...

	def GetBoundSelection(self) -> Sequence[int]:
		""""""
		...

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

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

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

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

	def SetMaximumNumberOfIterations(self, arg0: int) -> None:
		""""""
		...

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

	def SetMaximumNumberOfEvaluations(self, arg0: int) -> None:
		""""""
		...

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

	def SetMaximumNumberOfCorrections(self, arg0: int) -> None:
		""""""
		...

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

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

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

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

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

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

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

