from typing import Any

from sympy.core.basic import Basic
from sympy.core.function import UndefinedFunction
from sympy.core.symbol import Symbol

lie_heuristics = ...

def infinitesimals(eq, func=..., order=..., hint=..., match=...) -> list[Any] | Any: ...
def lie_heuristic_abaco1_simple(match, comp=...): ...
def lie_heuristic_abaco1_product(match, comp=...) -> list[dict[UndefinedFunction | Any, Any]] | list[Any] | None: ...
def lie_heuristic_bivariate(match, comp=...) -> list[dict[UndefinedFunction | Any, Any | Symbol | Basic]] | None: ...
def lie_heuristic_chi(match, comp=...) -> list[dict[UndefinedFunction | Any, Any]] | None: ...
def lie_heuristic_function_sum(match, comp=...) -> list[dict[UndefinedFunction | Any, Any]] | list[Any] | None: ...
def lie_heuristic_abaco2_similar(match, comp=...) -> list[dict[UndefinedFunction | Any, Any]] | None: ...
def lie_heuristic_abaco2_unique_unknown(match, comp=...) -> list[dict[UndefinedFunction | Any, Any]] | None: ...
def lie_heuristic_abaco2_unique_general(match, comp=...) -> list[dict[UndefinedFunction | Any, Any]] | None: ...
def lie_heuristic_linear(match, comp=...) -> list[dict[UndefinedFunction | Any, Any]] | None: ...
