# Interface methods for submodule: ParticleSwarmOptimizerBase
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import SingleValuedNonLinearOptimizerProxy as _SingleValuedNonLinearOptimizerProxy


# Interface methods for class: ParticleSwarmOptimizerBase
class ParticleSwarmOptimizerBaseProxy(_SingleValuedNonLinearOptimizerProxy):
	def GetNameOfClass(self):
		""""""
		...

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

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

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

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

	def SetInitialSwarm(self, initialSwarm) -> None:
		""""""
		...

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

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

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

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

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

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

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

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

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

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

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

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

	@overload
	def SetParameterBounds(self, bounds) -> None:
		""""""
		...

	@overload
	def SetParameterBounds(self, bounds, n: int) -> None:
		""""""
		...

	def GetParameterBounds(self):
		""""""
		...

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

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

	@overload
	def SetParametersConvergenceTolerance(self, convergenceTolerance: float, sz: int) -> None:
		""""""
		...

	@overload
	def SetParametersConvergenceTolerance(self, _arg) -> None:
		""""""
		...

	def GetParametersConvergenceTolerance(self):
		""""""
		...

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

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

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

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

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

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

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

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

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

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

	def PrintSwarm(self, os, indent) -> None:
		""""""
		...

