/** * 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 type { HasTag } from "../../Has"; import * as T from "../Task/_core"; export declare const URI: unique symbol; export declare abstract class Random { readonly _URI: typeof URI; abstract readonly next: T.IO; abstract readonly nextBoolean: T.IO; abstract readonly nextInt: T.IO; abstract readonly nextDouble: T.IO; abstract readonly nextRange: (low: number, high: number) => T.IO; abstract readonly nextIntBetween: (low: number, high: number) => T.IO; abstract readonly setSeed: (s: string) => T.IO; } export declare class LiveRandom extends Random { private seed; private PRNG; constructor(seed: string); next: T.IO; nextBoolean: T.IO; nextInt: T.IO; nextDouble: T.IO; nextRange: (low: number, high: number) => T.IO; nextIntBetween: (low: number, high: number) => T.IO; setSeed: (s: string) => T.IO; } export declare const defaultRandom: LiveRandom; export declare const HasRandom: import("../../Has").Tag; export declare type HasRandom = HasTag; export declare const next: T.Task, never, number>; export declare const nextBoolean: T.Task, never, boolean>; export declare const nextIntBetween: ( low: number, high: number ) => T.Task, never, number>; export declare const nextInt: T.Task, never, number>; export declare const nextDouble: T.Task, never, number>; export declare const nextRange: (low: number, high: number) => T.Task, never, number>; export declare const setSeed: (seed: string) => T.Task, never, void>; export declare const withSeed: ( seed: string ) => ( ma: T.Task, E1, A1> ) => T.Task, E1, A1>; //# sourceMappingURL=model.d.ts.map