# Interface methods for submodule: PeriodicBoundaryCondition
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import ImageBoundaryConditionProxy as _ImageBoundaryConditionProxy


# Interface methods for class: PeriodicBoundaryCondition
class PeriodicBoundaryConditionProxy(_ImageBoundaryConditionProxy):
	def GetNameOfClass(self):
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data):
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data, neighborhoodAccessorFunctor):
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data) -> Sequence[float]:
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data, neighborhoodAccessorFunctor) -> Sequence[float]:
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data) -> float:
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data, neighborhoodAccessorFunctor) -> float:
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data) -> Tuple[int, int, int, int]:
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data, neighborhoodAccessorFunctor) -> Tuple[int, int, int, int]:
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data) -> Tuple[int, int, int]:
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data, neighborhoodAccessorFunctor) -> Tuple[int, int, int]:
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data) -> int:
		""""""
		...

	@overload
	def __call__(self, point_index: Sequence[int], boundary_offset: Sequence[int], data, neighborhoodAccessorFunctor) -> int:
		""""""
		...

	def GetInputRequestedRegion(self, inputLargestPossibleRegion: ImageRegion, outputRequestedRegion: ImageRegion) -> ImageRegion:
		""""""
		...

	@overload
	def GetPixel(self, index: Sequence[int], image):
		""""""
		...

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

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

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

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

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

