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


# Interface methods for class: vnl_cost_function
class vnl_cost_functionProxy(_vnl_unary_functionProxy):
	def f(self, x: vnl_vector) -> float:
		""""""
		...

	@overload
	def gradf(self, x: vnl_vector, gradient: vnl_vector) -> None:
		""""""
		...

	@overload
	def gradf(self, x: vnl_vector) -> vnl_vector:
		""""""
		...

	def compute(self, x: vnl_vector, f, g) -> None:
		""""""
		...

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

	@overload
	def fdgradf(self, x: vnl_vector, gradient: vnl_vector, stepsize: float = ...) -> None:
		""""""
		...

	@overload
	def fdgradf(self, x: vnl_vector) -> vnl_vector:
		""""""
		...

	def reported_error(self, f_value: float) -> float:
		""""""
		...

