from typing import Any
from sympy.core.function import UndefinedFunction
from sympy.utilities.decorator import doctest_depends_on

__doctest_requires__ = ...
MATH_DEFAULT: dict[str, Any] = ...
MPMATH_DEFAULT: dict[str, Any] = ...
NUMPY_DEFAULT: dict[str, Any] = ...
SCIPY_DEFAULT: dict[str, Any] = ...
CUPY_DEFAULT: dict[str, Any] = ...
JAX_DEFAULT: dict[str, Any] = ...
TENSORFLOW_DEFAULT: dict[str, Any] = ...
SYMPY_DEFAULT: dict[str, Any] = ...
NUMEXPR_DEFAULT: dict[str, Any] = ...
MATH = ...
MPMATH = ...
NUMPY = ...
SCIPY = ...
CUPY = ...
JAX = ...
TENSORFLOW = ...
SYMPY = ...
NUMEXPR = ...
MATH_TRANSLATIONS = ...
MPMATH_TRANSLATIONS = ...
NUMPY_TRANSLATIONS: dict[str, str] = ...
SCIPY_TRANSLATIONS: dict[str, str] = ...
CUPY_TRANSLATIONS: dict[str, str] = ...
JAX_TRANSLATIONS: dict[str, str] = ...
TENSORFLOW_TRANSLATIONS: dict[str, str] = ...
NUMEXPR_TRANSLATIONS: dict[str, str] = ...
MODULES = ...
_lambdify_generated_counter = ...
@doctest_depends_on(modules=('numpy', 'scipy', 'tensorflow'), python_version=(3, ))
def lambdify(args, expr, modules=..., printer=..., use_imps=..., dummify=..., cse=..., docstring_limit=...):
    ...

def lambdastr(args, expr, printer=..., dummify=...) -> str:
    ...

class _EvaluatorPrinter:
    def __init__(self, printer=..., dummify=...) -> None:
        ...
    
    def doprint(self, funcname, args, expr, *, cses=...) -> str:
        ...
    


class _TensorflowEvaluatorPrinter(_EvaluatorPrinter):
    ...


def implemented_function(symfunc, implementation) -> type[UndefinedFunction] | UndefinedFunction:
    ...

