from fractions import Fraction
from numbers import Rational
from typing import Any

class AVRational:
    num: int
    den: int
    def __init__(self, num: int | Rational = 0, den: int = 1) -> None: ...
    @property
    def numerator(self) -> int: ...
    @property
    def denominator(self) -> int: ...
    def __bool__(self) -> bool: ...
    def __float__(self) -> float: ...
    def __hash__(self) -> int: ...
    def __eq__(self, other: Any) -> bool: ...
    def __lt__(self, other: Any) -> bool: ...
    def __le__(self, other: Any) -> bool: ...
    def __gt__(self, other: Any) -> bool: ...
    def __ge__(self, other: Any) -> bool: ...
    def __neg__(self) -> AVRational: ...
    def __mul__(self, other: Any) -> AVRational | Fraction | float: ...
    def __rmul__(self, other: Any) -> Fraction | float: ...
    def __truediv__(self, other: Any) -> AVRational | Fraction | float: ...
    def __rtruediv__(self, other: Any) -> Fraction | float: ...
    def __add__(self, other: Any) -> AVRational | Fraction | float: ...
    def __radd__(self, other: Any) -> Fraction | float: ...
    def __sub__(self, other: Any) -> AVRational | Fraction | float: ...
    def __rsub__(self, other: Any) -> Fraction | float: ...
