# Interface methods for submodule: SpatialObject
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import DataObjectProxy as _DataObjectProxy


# Interface methods for class: SpatialObject
class SpatialObjectProxy(_DataObjectProxy):
	def GetMaximumDepth(self) -> int:
		""""""
		...

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

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

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

	def GetNameOfClass(self):
		""""""
		...

	def SetId(self, id: int) -> None:
		""""""
		...

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

	def SetTypeName(self, _arg: str) -> None:
		""""""
		...

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

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

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

	def SetProperty(self, property) -> None:
		""""""
		...

	def GetProperty(self):
		""""""
		...

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

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

	def SetObjectToWorldTransform(self, transform) -> None:
		""""""
		...

	def GetModifiableObjectToWorldTransform(self):
		""""""
		...

	def GetObjectToWorldTransform(self):
		""""""
		...

	def GetObjectToWorldTransformInverse(self):
		""""""
		...

	def SetObjectToParentTransform(self, transform) -> None:
		""""""
		...

	def GetModifiableObjectToParentTransform(self):
		""""""
		...

	def GetObjectToParentTransform(self):
		""""""
		...

	def GetObjectToParentTransformInverse(self):
		""""""
		...

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

	@overload
	def IsInsideInObjectSpace(self, point: Sequence[float], depth: int, name: str = ...) -> bool:
		""""""
		...

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

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

	def ValueAtInObjectSpace(self, point: Sequence[float], value: float, depth: int = 0, name: str = ...) -> bool:
		""""""
		...

	def IsEvaluableAtInObjectSpace(self, point: Sequence[float], depth: int = 0, name: str = ...) -> bool:
		""""""
		...

	def IsInsideChildrenInObjectSpace(self, point: Sequence[float], depth: int = 0, name: str = ...) -> bool:
		""""""
		...

	def ValueAtChildrenInObjectSpace(self, point: Sequence[float], value: float, depth: int = 0, name: str = ...) -> bool:
		""""""
		...

	def IsEvaluableAtChildrenInObjectSpace(self, point: Sequence[float], depth: int = 0, name: str = ...) -> bool:
		""""""
		...

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

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

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

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

	def ValueAtInWorldSpace(self, point: Sequence[float], value: float, depth: int = 0, name: str = ...) -> bool:
		""""""
		...

	@overload
	def IsInsideInWorldSpace(self, point: Sequence[float], depth: int, name: str = ...) -> bool:
		""""""
		...

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

	def IsEvaluableAtInWorldSpace(self, point: Sequence[float], depth: int = 0, name: str = ...) -> bool:
		""""""
		...

	def DerivativeAtInObjectSpace(self, point: Sequence[float], order: int, value: Sequence[float], depth: int = 0, name: str = ..., offset: Sequence[float] = ...) -> None:
		""""""
		...

	def DerivativeAtInWorldSpace(self, point: Sequence[float], order: int, value: Sequence[float], depth: int = 0, name: str = ..., offset: Sequence[float] = ...) -> None:
		""""""
		...

	def SetParent(self, parent) -> None:
		""""""
		...

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

	def GetParent(self):
		""""""
		...

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

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

	def SetChildren(self, children) -> None:
		""""""
		...

	def AddChild(self, pointer) -> None:
		""""""
		...

	def RemoveChild(self, pointer) -> bool:
		""""""
		...

	def RemoveAllChildren(self, depth: int = ...) -> None:
		""""""
		...

	def GetChildren(self, depth: int = 0, name: str = ...):
		""""""
		...

	def GetConstChildren(self, depth: int = 0, name: str = ...):
		""""""
		...

	def AddChildrenToList(self, childrenList, depth: int = 0, name: str = ...) -> None:
		""""""
		...

	def AddChildrenToConstList(self, childrenList, depth: int = 0, name: str = ...) -> None:
		""""""
		...

	def GetNumberOfChildren(self, depth: int = 0, name: str = ...) -> int:
		""""""
		...

	def GetObjectById(self, id: int):
		""""""
		...

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

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

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

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

	def GetMyBoundingBoxInObjectSpace(self):
		""""""
		...

	def GetMyBoundingBoxInWorldSpace(self):
		""""""
		...

	def ComputeFamilyBoundingBox(self, depth: int = 0, name: str = ...) -> bool:
		""""""
		...

	def GetFamilyBoundingBoxInObjectSpace(self):
		""""""
		...

	def GetFamilyBoundingBoxInWorldSpace(self):
		""""""
		...

	def SetLargestPossibleRegion(self, region: ImageRegion) -> None:
		""""""
		...

	def GetLargestPossibleRegion(self) -> ImageRegion:
		""""""
		...

	def SetBufferedRegion(self, region: ImageRegion) -> None:
		""""""
		...

	def GetBufferedRegion(self) -> ImageRegion:
		""""""
		...

	@overload
	def SetRequestedRegion(self, region: ImageRegion) -> None:
		""""""
		...

	@overload
	def SetRequestedRegion(self, data) -> None:
		""""""
		...

	def GetRequestedRegion(self) -> ImageRegion:
		""""""
		...

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

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

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

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

	def CopyInformation(self, data) -> None:
		""""""
		...

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

