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



# Interface methods for class: vnl_diag_matrix
class vnl_diag_matrixProxy():
	def invert_in_place(self) -> vnl_diag_matrix:
		""""""
		...

	@overload
	def determinant(self):
		""""""
		...

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

	@overload
	def determinant(self) -> int:
		""""""
		...

	@overload
	def solve(self, b: vnl_vector) -> vnl_vector:
		""""""
		...

	@overload
	def solve(self, b: vnl_vector, out) -> None:
		""""""
		...

	@overload
	def __call__(self, i: int, j: int):
		""""""
		...

	@overload
	def __call__(self, i: int):
		""""""
		...

	@overload
	def __call__(self, i: int, j: int) -> float:
		""""""
		...

	@overload
	def __call__(self, i: int) -> float:
		""""""
		...

	@overload
	def __call__(self, i: int, j: int) -> int:
		""""""
		...

	@overload
	def __call__(self, i: int) -> int:
		""""""
		...

	def get_diagonal(self) -> vnl_vector:
		""""""
		...

	def diagonal(self) -> vnl_vector:
		""""""
		...

	@overload
	def fill_diagonal(self, v) -> vnl_diag_matrix:
		""""""
		...

	@overload
	def fill_diagonal(self, v: float) -> vnl_diag_matrix:
		""""""
		...

	@overload
	def fill_diagonal(self, v: int) -> vnl_diag_matrix:
		""""""
		...

	def set_diagonal(self, v: vnl_vector) -> vnl_diag_matrix:
		""""""
		...

	def begin(self):
		""""""
		...

	def end(self):
		""""""
		...

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

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

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

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

	@overload
	def put(self, r: int, c: int, v) -> None:
		""""""
		...

	@overload
	def put(self, r: int, c: int, v: float) -> None:
		""""""
		...

	@overload
	def put(self, r: int, c: int, v: int) -> None:
		""""""
		...

	@overload
	def get(self, r: int, c: int):
		""""""
		...

	@overload
	def get(self, r: int, c: int) -> float:
		""""""
		...

	@overload
	def get(self, r: int, c: int) -> int:
		""""""
		...

	def as_matrix(self) -> vnl_matrix:
		""""""
		...

	def set_size(self, n: int) -> None:
		""""""
		...

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

	@overload
	def fill(self, x) -> vnl_diag_matrix:
		""""""
		...

	@overload
	def fill(self, x: float) -> vnl_diag_matrix:
		""""""
		...

	@overload
	def fill(self, x: int) -> vnl_diag_matrix:
		""""""
		...

	def data_block(self):
		""""""
		...

	def set(self, v: vnl_vector) -> vnl_diag_matrix:
		""""""
		...

