# Interface methods for submodule: ImageFunction
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import FunctionBaseProxy as _FunctionBaseProxy


# Interface methods for class: ImageFunction
class ImageFunctionProxy(_FunctionBaseProxy):
	def GetNameOfClass(self):
		""""""
		...

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

	def GetInputImage(self):
		""""""
		...

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

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

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

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

	@overload
	def EvaluateAtIndex(self, index: Sequence[int]) -> Sequence[float]:
		""""""
		...

	@overload
	def EvaluateAtIndex(self, index: Sequence[int]) -> float:
		""""""
		...

	@overload
	def EvaluateAtIndex(self, index: Sequence[int]) -> Tuple[int, int, int, int]:
		""""""
		...

	@overload
	def EvaluateAtIndex(self, index: Sequence[int]) -> Tuple[int, int, int]:
		""""""
		...

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

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

	@overload
	def EvaluateAtContinuousIndex(self, index) -> Tuple[int, int, int, int]:
		""""""
		...

	@overload
	def EvaluateAtContinuousIndex(self, index) -> Tuple[int, int, int]:
		""""""
		...

	@overload
	def IsInsideBuffer(self, index: Sequence[int]) -> bool:
		""""""
		...

	@overload
	def IsInsideBuffer(self, index) -> bool:
		""""""
		...

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

	def ConvertPointToNearestIndex(self, point: Sequence[float], index: Sequence[int]) -> None:
		""""""
		...

	def ConvertPointToContinuousIndex(self, point: Sequence[float], cindex) -> None:
		""""""
		...

	def ConvertContinuousIndexToNearestIndex(self, cindex, index: Sequence[int]) -> None:
		""""""
		...

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

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

	def GetStartContinuousIndex(self):
		""""""
		...

	def GetEndContinuousIndex(self):
		""""""
		...

