# sage_setup: distribution = sagemath-categories
from typing import Any, Union

def is_FractionFieldElement(x: Any) -> bool:
    ...

class FractionFieldElement:
    _numerator: Any
    _denominator: Any
    _is_reduced: bool

    def __init__(self, parent: Any, numerator: Any, denominator: Any = 1, coerce: bool = True, reduce: bool = True) -> None:
        ...

    def _im_gens_(self, codomain: Any, im_gens: Any, base_map: Any = None) -> Any:
        ...

    def reduce(self) -> None:
        ...

    def __copy__(self) -> 'FractionFieldElement':
        ...

    def numerator(self) -> Any:
        ...

    def denominator(self) -> Any:
        ...

    def is_square(self, root: bool = False) -> Union[bool, tuple[bool, Any]]:
        ...

    def nth_root(self, n: int) -> 'FractionFieldElement':
        ...

    def __hash__(self) -> int:
        ...

    def __call__(self, *x: Any, **kwds: Any) -> 'FractionFieldElement':
        ...

    def subs(self, in_dict: dict | None = None, *args: Any, **kwds: Any) -> 'FractionFieldElement':
        ...

    def _is_atomic(self) -> bool:
        ...

    def _repr_(self) -> str:
        ...

    def _latex_(self) -> str:
        ...

    def _magma_init_(self, magma: Any) -> str:
        ...

    def _add_(self, right: 'FractionFieldElement') -> 'FractionFieldElement':
        ...

    def _mul_(self, right: 'FractionFieldElement') -> 'FractionFieldElement':
        ...

    def _div_(self, right: 'FractionFieldElement') -> 'FractionFieldElement':
        ...

    def __int__(self) -> int:
        ...

    def __float__(self) -> float:
        ...

    def __complex__(self) -> complex:
        ...

    def _rational_(self) -> 'FractionFieldElement':
        ...

    def _conversion(self, R: Any) -> 'FractionFieldElement':
        ...

    def __pow__(self, right: int, dummy: Any) -> 'FractionFieldElement':
        ...

    def __neg__(self) -> 'FractionFieldElement':
        ...

    def __abs__(self) -> 'FractionFieldElement':
        ...

    def __invert__(self) -> 'FractionFieldElement':
        ...

    def _richcmp_(self, other: 'FractionFieldElement', op: int) -> bool:
        ...

    def valuation(self, v: Any = None) -> int:
        ...

    def __bool__(self) -> bool:
        ...

    def is_zero(self) -> bool:
        ...

    def is_one(self) -> bool:
        ...

    def _symbolic_(self, ring: Any) -> 'FractionFieldElement':
        ...

    def __reduce__(self) -> tuple:
        ...

    def _evaluate_polynomial(self, pol: Any) -> 'FractionFieldElement':
        ...

    def specialization(self, D: Any = None, phi: Any = None) -> 'FractionFieldElement':
        ...

class FractionFieldElement_1poly_field(FractionFieldElement):
    def __init__(self, parent: Any, numerator: Any, denominator: Any = 1, coerce: bool = True, reduce: bool = True) -> None:
        ...

    def normalize_leading_coefficients(self) -> None:
        ...

    def is_integral(self) -> bool:
        ...

    def support(self) -> Any:
        ...

    def reduce(self) -> None:
        ...

def make_element(parent: Any, numerator: Any, denominator: Any) -> FractionFieldElement:
    ...

def make_element_old(parent: Any, cdict: dict) -> FractionFieldElement:
    ...
