from sympy.core.basic import Basic
from sympy.core.function import Function, UndefinedFunction
from sympy.core.power import Pow

class expm1(Function):
    nargs = ...
    def fdiff(self, argindex=...) -> type[UndefinedFunction]: ...

    _eval_rewrite_as_tractable = ...
    @classmethod
    def eval(cls, arg) -> None: ...

class log1p(Function):
    nargs = ...
    def fdiff(self, argindex=...): ...

    _eval_rewrite_as_tractable = ...
    @classmethod
    def eval(cls, arg) -> type[UndefinedFunction] | None: ...

_Two = ...

class exp2(Function):
    nargs = ...
    def fdiff(self, argindex=...): ...

    _eval_rewrite_as_tractable = ...
    @classmethod
    def eval(cls, arg) -> Pow | None: ...

class log2(Function):
    nargs = ...
    def fdiff(self, argindex=...): ...
    @classmethod
    def eval(cls, arg) -> None: ...

    _eval_rewrite_as_tractable = ...

class fma(Function):
    nargs = ...
    def fdiff(self, argindex=...) -> Basic: ...

_Ten = ...

class log10(Function):
    nargs = ...
    def fdiff(self, argindex=...): ...
    @classmethod
    def eval(cls, arg) -> None: ...

    _eval_rewrite_as_tractable = ...

class Sqrt(Function):
    nargs = ...
    def fdiff(self, argindex=...): ...

    _eval_rewrite_as_tractable = ...

class Cbrt(Function):
    nargs = ...
    def fdiff(self, argindex=...): ...

    _eval_rewrite_as_tractable = ...

class hypot(Function):
    nargs = ...
    def fdiff(self, argindex=...): ...

    _eval_rewrite_as_tractable = ...
