from typing import Any, List

from java.lang import Enum, Number, Object

class BigDecimal(Number):
    ONE: BigDecimal
    TEN: BigDecimal
    ZERO: BigDecimal
    def __init__(self, *args: Any) -> None: ...
    def doubleValue(self) -> float: ...
    def floatValue(self) -> float: ...
    def intValue(self) -> int: ...
    def longValue(self) -> long: ...

class BigInteger(Number):
    ONE: BigInteger
    TEN: BigInteger
    TWO: BigInteger
    ZERO: BigInteger
    def __init__(self, *args: Any) -> None: ...
    def doubleValue(self) -> float: ...
    def floatValue(self) -> float: ...
    def intValue(self) -> int: ...
    def longValue(self) -> long: ...

class MathContext(Object):
    def __init__(self, *args: Any) -> None: ...
    def getPrecision(self) -> int: ...
    def getRoundingMode(self) -> RoundingMode: ...

class RoundingMode(Enum):
    CEILING: RoundingMode
    DOWN: RoundingMode
    FLOOR: RoundingMode
    HALF_DOWN: RoundingMode
    HALF_EVEN: RoundingMode
    HALF_UP: RoundingMode
    UNNECESSARY: RoundingMode
    UP: RoundingMode
    @staticmethod
    def values() -> List[RoundingMode]: ...
