from typing import Any

from sympy.matrices import Matrix
from sympy.series.order import Order
from sympy.utilities.decorator import conserve_mpmath_dps

def recast_to_symbols(eqs, symbols) -> tuple[list[Any], list[Any], dict[Any, Any]]: ...
def denoms(eq, *symbols) -> set[Any]: ...
def checksol(f, symbol, sol=..., **flags): ...
def solve(f, *symbols, **flags): ...
def solve_linear(lhs, rhs=..., symbols=..., exclude=...) -> tuple[Any, Any]: ...
def minsolve_linear_system(system, *symbols, **flags) -> dict[Any, Any] | None: ...
def solve_linear_system(system, *symbols, **flags) -> dict[Any, Any] | None: ...
def solve_undetermined_coeffs(
    equ, coeffs, *syms, **flags
) -> tuple[list[Any], dict[Any, Any]] | list[Any] | dict[Any, Any] | None: ...
def solve_linear_system_LU(matrix, syms) -> dict[Any, Any]: ...
def det_perm(M) -> Order: ...
def det_minor(M): ...
def det_quick(M, method=...) -> Order: ...
def inv_quick(M): ...

multi_inverses = ...

@conserve_mpmath_dps
def nsolve(*args, dict=..., **kwargs) -> list[dict[Any, Any]] | Matrix: ...
def unrad(eq, *syms, **flags): ...
