"""
PySide stub files generated by **IceSpringPySideStubs**

Home: https://baijifeilong.github.io/2022/01/06/ice-spring-pyside-stubs/index.html

Github: https://github.com/baijifeilong/IceSpringPySideStubs

PyPI(PySide2): https://pypi.org/project/IceSpringPySideStubs-PySide2

PyPI(PySide6): https://pypi.org/project/IceSpringPySideStubs-PySide6

Generated by BaiJiFeiLong@gmail.com

Licence: GPLv3
"""
from typing import overload
import PySide6.QtCore

bytes = str


class QRandomGenerator64(PySide6.QtCore.QRandomGenerator):
    """
    https://doc.qt.io/qt-6/qrandomgenerator64.html

    **Detailed Description**

    QRandomGenerator64 is a simple adaptor class around **QRandomGenerator** ,
    making the **QRandomGenerator::generate64** () function the default for
    **operator** ()(), instead of the function that returns 32-bit quantities.
    This class is intended to be used in conjunction with Standard Library
    algorithms that need 64-bit quantities instead of 32-bit ones.

    In all other aspects, the class is the same. Please refer to
    **QRandomGenerator** 's documentation for more information.

    **See also** **QRandomGenerator** .
    """

    @overload
    def __init__(self, begin: int, end: int) -> None:
        ...

    @overload
    def __init__(self, other: PySide6.QtCore.QRandomGenerator) -> None:
        ...

    @overload
    def __init__(self, seedBuffer: int, len: int) -> None:
        ...

    @overload
    def __init__(self, seedValue: int = ...) -> None:
        ...

    def discard(self, z: int) -> None:
        ...

    def generate(self) -> int:
        """
        https://doc.qt.io/qt-6/qrandomgenerator64.html#generate

        **quint64 QRandomGenerator64::generate()**

        Generates one 64-bit random value and returns it.

        Note about casting to a signed integer: all bits returned by this
        function are random, so there's a 50% chance that the most significant
        bit will be set. If you wish to cast the returned value to qint64 and
        keep it positive, you should mask the sign bit off:

        **qint64**  value = QRandomGenerator64::global()->generate() &
        std::numeric_limits<**qint64** >::max();

        **See also** **QRandomGenerator**  and **QRandomGenerator::generate64**
        ().
        """
        ...

    @staticmethod
    def global_() -> PySide6.QtCore.QRandomGenerator64:
        ...

    @staticmethod
    def max() -> int:
        ...

    @staticmethod
    def min() -> int:
        ...

    @staticmethod
    def securelySeeded() -> PySide6.QtCore.QRandomGenerator64:
        ...

    @staticmethod
    def system() -> PySide6.QtCore.QRandomGenerator64:
        ...
