# Interface methods for submodule: Transform
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import TransformBaseTemplateProxy as _TransformBaseTemplateProxy


# Interface methods for class: Transform
class TransformProxy(_TransformBaseTemplateProxy):
	def GetNameOfClass(self):
		""""""
		...

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

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

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

	def TransformPoint(self, arg0: Sequence[float]) -> Sequence[float]:
		""""""
		...

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

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

	@overload
	def TransformVector(self, arg0: vnl_vector_fixed) -> vnl_vector_fixed:
		""""""
		...

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

	@overload
	def TransformVector(self, arg0):
		""""""
		...

	@overload
	def TransformVector(self, vector, point: Sequence[float]):
		""""""
		...

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

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

	@overload
	def TransformCovariantVector(self, arg0):
		""""""
		...

	@overload
	def TransformCovariantVector(self, vector, point: Sequence[float]):
		""""""
		...

	@overload
	def TransformDiffusionTensor3D(self, arg0):
		""""""
		...

	@overload
	def TransformDiffusionTensor3D(self, inputTensor, point: Sequence[float]):
		""""""
		...

	@overload
	def TransformSymmetricSecondRankTensor(self, inputTensor, point: Sequence[float]):
		""""""
		...

	@overload
	def TransformSymmetricSecondRankTensor(self, arg0):
		""""""
		...

	def SetParameters(self, arg0) -> None:
		""""""
		...

	def SetParametersByValue(self, p) -> None:
		""""""
		...

	def CopyInParameters(self, begin, end) -> None:
		""""""
		...

	def CopyInFixedParameters(self, begin, end) -> None:
		""""""
		...

	def GetParameters(self):
		""""""
		...

	def SetFixedParameters(self, arg0) -> None:
		""""""
		...

	def GetFixedParameters(self):
		""""""
		...

	def UpdateTransformParameters(self, update: Sequence[float], factor: float = 1) -> None:
		""""""
		...

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

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

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

	def GetInverse(self, arg0) -> bool:
		""""""
		...

	def GetInverseTransform(self):
		""""""
		...

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

	def GetTransformCategory(self):
		""""""
		...

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

	def ComputeJacobianWithRespectToParameters(self, arg0: Sequence[float], arg1) -> None:
		""""""
		...

	def ComputeJacobianWithRespectToParametersCachedTemporaries(self, p: Sequence[float], jacobian, arg2) -> None:
		""""""
		...

	def ComputeJacobianWithRespectToPosition(self, arg0: Sequence[float], arg1: vnl_matrix_fixed) -> None:
		""""""
		...

	def ComputeInverseJacobianWithRespectToPosition(self, pnt: Sequence[float], jacobian: vnl_matrix_fixed) -> None:
		""""""
		...

