# Interface methods for submodule: BSplineInterpolateImageFunction
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import InterpolateImageFunctionProxy as _InterpolateImageFunctionProxy


# Interface methods for class: BSplineInterpolateImageFunction
class BSplineInterpolateImageFunctionProxy(_InterpolateImageFunctionProxy):
	def GetNameOfClass(self):
		""""""
		...

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

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

	@overload
	def Evaluate(self, point: Sequence[float]) -> float:
		""""""
		...

	@overload
	def Evaluate(self, point: Sequence[float], threadId: int) -> float:
		""""""
		...

	@overload
	def EvaluateAtContinuousIndex(self, index) -> float:
		""""""
		...

	@overload
	def EvaluateAtContinuousIndex(self, x, threadId: int) -> float:
		""""""
		...

	@overload
	def EvaluateDerivative(self, point: Sequence[float]) -> Sequence[float]:
		""""""
		...

	@overload
	def EvaluateDerivative(self, point: Sequence[float], threadId: int) -> Sequence[float]:
		""""""
		...

	@overload
	def EvaluateDerivativeAtContinuousIndex(self, x) -> Sequence[float]:
		""""""
		...

	@overload
	def EvaluateDerivativeAtContinuousIndex(self, x, threadId: int) -> Sequence[float]:
		""""""
		...

	@overload
	def EvaluateValueAndDerivative(self, point: Sequence[float], value: float, deriv: Sequence[float]) -> None:
		""""""
		...

	@overload
	def EvaluateValueAndDerivative(self, point: Sequence[float], value: float, deriv: Sequence[float], threadId: int) -> None:
		""""""
		...

	@overload
	def EvaluateValueAndDerivativeAtContinuousIndex(self, x, value: float, deriv: Sequence[float]) -> None:
		""""""
		...

	@overload
	def EvaluateValueAndDerivativeAtContinuousIndex(self, x, value: float, derivativeValue: Sequence[float], threadId: int) -> None:
		""""""
		...

	def SetSplineOrder(self, SplineOrder: int) -> None:
		""""""
		...

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

	def SetNumberOfWorkUnits(self, numThreads: int) -> None:
		""""""
		...

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

	def SetInputImage(self, inputData) -> None:
		""""""
		...

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

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

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

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

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

