"""
This type stub file was generated by pyright.
"""

class JSNumberBoundsException(Exception):
    ...


class JSNumber:
    """Utility class for exposing JavaScript Number constants."""
    MAX_SAFE_INTEGER = ...
    MIN_SAFE_INTEGER = ...
    MAX_VALUE = ...
    MIN_VALUE = ...
    MIN_NEGATIVE_VALUE = ...
    @classmethod
    def validate_int_bounds(cls, value: int, value_name: str | None = ...) -> None:
        """Validate that an int value can be represented with perfect precision
        by a JavaScript Number.

        Parameters
        ----------
        value : int
        value_name : str or None
            The name of the value parameter. If specified, this will be used
            in any exception that is thrown.

        Raises
        ------
        JSNumberBoundsException
            Raised with a human-readable explanation if the value falls outside
            JavaScript int bounds.

        """
        ...
    
    @classmethod
    def validate_float_bounds(cls, value: int | float, value_name: str | None) -> None:
        """Validate that a float value can be represented by a JavaScript Number.

        Parameters
        ----------
        value : float
        value_name : str or None
            The name of the value parameter. If specified, this will be used
            in any exception that is thrown.

        Raises
        ------
        JSNumberBoundsException
            Raised with a human-readable explanation if the value falls outside
            JavaScript float bounds.

        """
        ...
    


