from typing import TypedDict, type_check_only from numpy import uint64 from numpy._typing import _ArrayLikeInt_co from numpy.random.bit_generator import BitGenerator, SeedSequence from numpy.typing import NDArray __all__ = ["Philox"] @type_check_only class _PhiloxInternal(TypedDict): counter: NDArray[uint64] key: NDArray[uint64] @type_check_only class _PhiloxState(TypedDict): bit_generator: str state: _PhiloxInternal buffer: NDArray[uint64] buffer_pos: int has_uint32: int uinteger: int class Philox(BitGenerator): def __init__( self, seed: _ArrayLikeInt_co | SeedSequence | None = ..., counter: _ArrayLikeInt_co | None = ..., key: _ArrayLikeInt_co | None = ..., ) -> None: ... @property # type: ignore[override] def state(self) -> _PhiloxState: ... @state.setter def state(self, value: _PhiloxState) -> None: ... def jumped(self, jumps: int = 1) -> Philox: ... def advance(self, delta: int) -> Philox: ...