import { Stream } from "@effect/core/stream/Stream/definition"; import { Maybe } from "@tsplus/stdlib/data/Maybe/definition"; import { Sample } from "@effect/core/testing/Sample/definition"; import { Equivalence } from "@tsplus/stdlib/prelude/Equivalence/definition"; export declare const GenSym: unique symbol; export type GenSym = typeof GenSym; export declare const GenEnvSym: unique symbol; export type GenEnvSym = typeof GenEnvSym; export declare const GenValueSym: unique symbol; export type GenValueSym = typeof GenValueSym; /** * A `Gen` represents a generator of values of type `A`, which requires an * environment `R`. Generators may be random or deterministic. * * @tsplus type effect/core/testing/Gen */ export interface Gen { readonly [GenSym]: GenSym; readonly [GenEnvSym]: () => R; readonly [GenValueSym]: () => A; readonly sample: Stream>>; } /** * @tsplus type effect/core/testing/Gen.Ops */ export interface GenOps { (sample: Stream>>): Gen; readonly $: GenAspects; } export declare const Gen: GenOps; /** * @tsplus type effect/core/testing/Gen.Aspects */ export interface GenAspects { } /** * @tsplus unify effect/core/testing/Gen */ export declare function unifyGen>(self: X): Gen<[ X ] extends [{ [GenEnvSym]: () => infer R; }] ? R : never, [ X ] extends [{ [GenValueSym]: () => infer A; }] ? A : never>; export interface LengthConstraints { readonly minLength?: number; readonly maxLength?: number; } export interface EquivalenceConstraint { readonly equivalence?: Equivalence; } export interface DateConstraints { readonly min?: Date; readonly max?: Date; } export interface ObjectConstraints { readonly maxDepth?: number; readonly maxKeys?: number; readonly key?: Gen; readonly values?: Gen[]; readonly withSet?: boolean; readonly withMap?: boolean; readonly withBigint?: boolean; readonly withDate?: boolean; readonly withTypedArray?: boolean; } export interface NumberConstraints { readonly min?: number; readonly max?: number; } export interface FloatConstraints { readonly noDefaultInfinity?: boolean; readonly noNaN?: boolean; } //# sourceMappingURL=definition.d.ts.map