/** * Ported from https://github.com/zio/zio/blob/master/core/shared/src/main/scala/zio/Random.scala * * Copyright 2020 Michael Arnaldi and the Matechs Garage Contributors. */ import "../Operator/index.js"; import type { UIO } from "../Effect/effect.js"; import type { Has } from "../Has/index.js"; export declare const RandomId: unique symbol; export declare type RandomId = typeof RandomId; export declare abstract class Random { readonly serviceId: RandomId; abstract readonly next: UIO; abstract readonly nextBoolean: UIO; abstract readonly nextInt: UIO; abstract readonly nextRange: (low: number, high: number) => UIO; abstract readonly nextIntBetween: (low: number, high: number) => UIO; } export declare class LiveRandom extends Random { private PRNG; constructor(seed: number); next: UIO; nextBoolean: UIO; nextInt: UIO; nextRange: (low: number, high: number) => UIO; nextIntBetween: (low: number, high: number) => UIO; } export declare const defaultRandom: LiveRandom; export declare const HasRandom: import("../Has/index.js").Tag; export declare type HasRandom = Has; export declare const next: import("../Effect/effect.js").Effect, never, number>; export declare const nextBoolean: import("../Effect/effect.js").Effect, never, boolean>; export declare const nextIntBetween: (low: number, high: number) => import("../Effect/effect.js").Effect, never, number>; export declare const nextInt: import("../Effect/effect.js").Effect, never, number>; export declare const nextRange: (low: number, high: number) => import("../Effect/effect.js").Effect, never, number>; export declare const withSeed: (seed: number) => (ma: import("../Effect/effect.js").Effect, E1, A1>) => import("../Effect/effect.js").Effect, E1, A1>; //# sourceMappingURL=index.d.ts.map