import { Random } from "@effect/core/io/Random/definition";
import { RandomPCG } from "@tsplus/stdlib/utilities/RandomPCG";
import { Effect } from "@effect/core/io/Effect/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Collection } from "@tsplus/stdlib/collections/Collection/definition";
import { RandomSym } from "@effect/core/io/Random/definition";
/**
 * @tsplus static ets/Random/Ops default
 * @tsplus location "@effect/core/io/Random/operations/live"
 */
export declare const defaultRandom: import("@tsplus/stdlib/data/LazyValue").LazyValue<LiveRandom>;
/**
 * @tsplus static ets/Random/Ops live
 * @tsplus location "@effect/core/io/Random/operations/live"
 */
export declare const live: import("../../Layer").Layer<never, never, import("@effect/core/io/Random/definition").Random>;
export declare class LiveRandom implements Random {
    readonly seed: number;
    readonly [RandomSym]: RandomSym;
    readonly PRNG: RandomPCG;
    constructor(seed: number);
    get next(): Effect<never, never, number>;
    get nextBoolean(): Effect<never, never, boolean>;
    get nextInt(): Effect<never, never, number>;
    nextRange(low: number, high: number, __tsplusTrace?: string): Effect<never, never, number>;
    nextIntBetween(low: number, high: number, __tsplusTrace?: string): Effect<never, never, number>;
    shuffle<A>(collection: LazyArg<Collection<A>>, __tsplusTrace?: string): Effect<never, never, Collection<A>>;
}
//# sourceMappingURL=live.d.ts.map