# Interface methods for submodule: LBFGSBOptimizerv4
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import LBFGSOptimizerBasev4Proxy as _LBFGSOptimizerBasev4Proxy


# Interface methods for class: LBFGSBOptimizerv4
class LBFGSBOptimizerv4Proxy(_LBFGSOptimizerBasev4Proxy):
	@staticmethod
	def New():
		""""""
		...

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

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

	def SetInitialPosition(self, param) -> None:
		""""""
		...

	def GetInitialPosition(self):
		""""""
		...

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

	def SetMetric(self, metric) -> 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 SetMaximumNumberOfCorrections(self, arg0: int) -> None:
		""""""
		...

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

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

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

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

