from typing import Any
from sympy.functions.elementary.piecewise import Piecewise
from sympy.utilities import public

z = ...
def roots_linear(f) -> list[Any]:
    ...

def roots_quadratic(f) -> list[Any]:
    ...

def roots_cubic(f, trig=...) -> list[Any]:
    ...

def roots_quartic(f) -> Any | list[Any] | list[Any | Piecewise]:
    ...

def roots_binomial(f) -> list[Any]:
    ...

def roots_cyclotomic(f, factor=...) -> list[Any]:
    ...

def roots_quintic(f) -> list[Any]:
    ...

def preprocess_roots(poly) -> tuple[Any, Any]:
    ...

@public
def roots(f, *gens, auto=..., cubics=..., trig=..., quartics=..., quintics=..., multiple=..., filter=..., predicate=..., strict=..., **flags):
    ...

def root_factors(f, *gens, filter=..., **args) -> list[Any]:
    ...

