import zfit
from .. import z as z
from ..core.parameter import assign_values as assign_values
from ..util.container import convert_to_container as convert_to_container
from ..util.exception import BreakingAPIChangeError as BreakingAPIChangeError
from collections.abc import Callable as Callable
from enum import Enum
from zfit._interfaces import ZfitIndependentParameter as ZfitIndependentParameter

class NewMinimum(Exception): ...
class FailEvalLossNaN(Exception): ...
class RootFound(Exception): ...

class WeightCorr(Enum):
    ASYMPTOTIC: str
    FALSE: bool
    SUMW2: str

def compute_errors(result: zfit.result.FitResult, params: list[ZfitIndependentParameter], *, cl: float | None = None, rtol: float | None = None, method: str | None = None, covariance_method: str | Callable | None = None, sigma: float | None = None) -> tuple[dict[ZfitIndependentParameter, dict[str, float]], zfit.result.FitResult | None]: ...
def numerical_pdf_jacobian(func, params): ...
def autodiff_pdf_jacobian(func, params): ...
def covariance_with_weights(hinv, result, params, *, weightcorr: WeightCorr = None): ...
def dict_to_matrix(params, matrix_dict): ...
def matrix_to_dict(params, matrix): ...
def np_cache(*args, **kwargs): ...
