from typing import Any

from sympy.polys.domains.compositedomain import CompositeDomain
from sympy.polys.domains.field import Field
from sympy.polys.fields import FracElement
from sympy.utilities import public

class FractionField(Field, CompositeDomain):
    is_Frac = ...
    has_assoc_Ring = ...
    has_assoc_Field = ...
    def __init__(self, domain_or_field, symbols=..., order=...) -> None: ...
    def new(self, element) -> FracElement: ...
    @property
    def zero(self): ...
    @property
    def one(self): ...
    @property
    def order(self): ...
    @property
    def is_Exact(self): ...
    def get_exact(self) -> Any: ...
    def __hash__(self) -> int: ...
    def __eq__(self, other) -> bool: ...
    def to_sympy(self, a): ...
    def from_sympy(self, a): ...
    def from_ZZ(K1, a, K0): ...
    def from_ZZ_python(K1, a, K0): ...
    def from_QQ(K1, a, K0): ...
    def from_QQ_python(K1, a, K0): ...
    def from_ZZ_gmpy(K1, a, K0): ...
    def from_QQ_gmpy(K1, a, K0): ...
    def from_GaussianRationalField(K1, a, K0): ...
    def from_GaussianIntegerRing(K1, a, K0): ...
    def from_RealField(K1, a, K0): ...
    def from_ComplexField(K1, a, K0): ...
    def from_AlgebraicField(K1, a, K0) -> FracElement | None: ...
    def from_PolynomialRing(K1, a, K0) -> FracElement | None: ...
    def from_FractionField(K1, a, K0) -> None: ...
    def get_ring(self) -> Any: ...
    def is_positive(self, a): ...
    def is_negative(self, a): ...
    def is_nonpositive(self, a): ...
    def is_nonnegative(self, a): ...
    def numer(self, a): ...
    def denom(self, a): ...
    def factorial(self, a): ...
