sig
  type t = Stdlib.Random.State.t
  val make : int array -> BatRandom.Incubator.Private_state_enums.State.t
  val make_self_init :
    unit -> BatRandom.Incubator.Private_state_enums.State.t
  val copy :
    BatRandom.Incubator.Private_state_enums.State.t ->
    BatRandom.Incubator.Private_state_enums.State.t
  val bits : BatRandom.Incubator.Private_state_enums.State.t -> int
  val int : BatRandom.Incubator.Private_state_enums.State.t -> int -> int
  val int32 :
    BatRandom.Incubator.Private_state_enums.State.t ->
    Stdlib.Int32.t -> Stdlib.Int32.t
  val nativeint :
    BatRandom.Incubator.Private_state_enums.State.t ->
    Stdlib.Nativeint.t -> Stdlib.Nativeint.t
  val int64 :
    BatRandom.Incubator.Private_state_enums.State.t ->
    Stdlib.Int64.t -> Stdlib.Int64.t
  val float :
    BatRandom.Incubator.Private_state_enums.State.t -> float -> float
  val bool : BatRandom.Incubator.Private_state_enums.State.t -> bool
  val char : BatRandom.Incubator.Private_state_enums.State.t -> char
  val enum_bits :
    BatRandom.Incubator.Private_state_enums.State.t -> unit -> int BatEnum.t
  val enum_int :
    BatRandom.Incubator.Private_state_enums.State.t -> int -> int BatEnum.t
  val enum_bool :
    BatRandom.Incubator.Private_state_enums.State.t -> unit -> bool BatEnum.t
  val enum_float :
    BatRandom.Incubator.Private_state_enums.State.t ->
    float -> float BatEnum.t
  val enum_int32 :
    BatRandom.Incubator.Private_state_enums.State.t ->
    Stdlib.Int32.t -> Stdlib.Int32.t BatEnum.t
  val enum_int64 :
    BatRandom.Incubator.Private_state_enums.State.t ->
    Stdlib.Int64.t -> Stdlib.Int64.t BatEnum.t
  val enum_nativeint :
    BatRandom.Incubator.Private_state_enums.State.t ->
    Stdlib.Nativeint.t -> Stdlib.Nativeint.t BatEnum.t
  val enum_char :
    BatRandom.Incubator.Private_state_enums.State.t -> unit -> char BatEnum.t
  val perturb :
    BatRandom.Incubator.Private_state_enums.State.t ->
    BatRandom.Incubator.Private_state_enums.State.t
end