# Interface methods for submodule: ScaleTransform
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: ScaleTransform
class ScaleTransformProxy(_MatrixOffsetTransformBaseProxy):
	@staticmethod
	def New():
		""""""
		...

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

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

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

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

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

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

	def SetScale(self, scale: Sequence[float]) -> None:
		""""""
		...

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

	def Compose(self, other, pre: bool = False) -> None:
		""""""
		...

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

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

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

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

	def TransformCovariantVector(self, vect: Sequence[float]) -> Sequence[float]:
		""""""
		...

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

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

	@overload
	def BackTransform(self, vect: vnl_vector_fixed) -> vnl_vector_fixed:
		""""""
		...

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

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

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

	def GetScale(self) -> Sequence[float]:
		""""""
		...

