# Interface methods for submodule: FiniteDifferenceFunction
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import LightObjectProxy as _LightObjectProxy


# Interface methods for class: FiniteDifferenceFunction
class FiniteDifferenceFunctionProxy(_LightObjectProxy):
	def GetNameOfClass(self):
		""""""
		...

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

	@overload
	def ComputeUpdate(self, neighborhood, globalData, offset: Sequence[float] = ...) -> Sequence[float]:
		""""""
		...

	@overload
	def ComputeUpdate(self, neighborhood, globalData, offset: Sequence[float] = ...) -> float:
		""""""
		...

	@overload
	def ComputeUpdate(self, neighborhood, globalData, offset: Sequence[float] = ...) -> int:
		""""""
		...

	def SetRadius(self, r: Sequence[int]) -> None:
		""""""
		...

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

	def SetScaleCoefficients(self, vals) -> None:
		""""""
		...

	def GetScaleCoefficients(self, vals) -> None:
		""""""
		...

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

	def ComputeGlobalTimeStep(self, GlobalData) -> float:
		""""""
		...

	def GetGlobalDataPointer(self):
		""""""
		...

	def ReleaseGlobalDataPointer(self, GlobalData) -> None:
		""""""
		...

