import { Stream } from "@effect/core/stream/Stream/definition"; import { Maybe } from "@tsplus/stdlib/data/Maybe/definition"; export declare const SampleSym: unique symbol; export type SampleSym = typeof SampleSym; export declare const SampleEnvSym: unique symbol; export type SampleEnvSym = typeof SampleEnvSym; export declare const SampleValueSym: unique symbol; export type SampleValueSym = typeof SampleValueSym; /** * A sample is a single observation from a random variable, together with a tree * of "shrinkings" used for minimization of "large" failures. * * @tsplus type effect/core/testing/Sample */ export interface Sample { readonly [SampleSym]: SampleSym; readonly [SampleEnvSym]: () => R; readonly [SampleValueSym]: () => A; readonly value: A; readonly shrink: Stream>>; } /** * @tsplus type effect/core/testing/Sample.Ops */ export interface SampleOps { (value: A, shrink: Stream>>): Sample; readonly $: SampleAspects; } export declare const Sample: SampleOps; /** * @tsplus type effect/core/testing/Sample.Aspects */ export interface SampleAspects { } /** * @tsplus unify effect/core/testing/Sample */ export declare function unifyGen>(self: X): Sample<[ X ] extends [{ [SampleEnvSym]: () => infer R; }] ? R : never, [ X ] extends [{ [SampleValueSym]: () => infer A; }] ? A : never>; //# sourceMappingURL=definition.d.ts.map