# Interface methods for submodule: AffineTransform
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import MatrixOffsetTransformBaseProxy as _MatrixOffsetTransformBaseProxy


# Interface methods for class: AffineTransform
class AffineTransformProxy(_MatrixOffsetTransformBaseProxy):
	def GetNameOfClass(self):
		""""""
		...

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

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

	def Translate(self, trans: Sequence[float], pre: bool = False) -> None:
		""""""
		...

	@overload
	def Scale(self, factor: Sequence[float], pre: bool = False) -> None:
		""""""
		...

	@overload
	def Scale(self, factor: float, pre: bool = False) -> None:
		""""""
		...

	def Rotate(self, axis1: int, axis2: int, angle: float, pre: bool = False) -> None:
		""""""
		...

	def Rotate2D(self, angle: float, pre: bool = False) -> None:
		""""""
		...

	def Rotate3D(self, axis: Sequence[float], angle: float, pre: bool = False) -> None:
		""""""
		...

	def Shear(self, axis1: int, axis2: int, coef: float, pre: bool = False) -> None:
		""""""
		...

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

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

	@overload
	def Metric(self, other) -> float:
		""""""
		...

	@overload
	def Metric(self) -> float:
		""""""
		...

