/** * @since 1.0.0 */ import * as E from "@fp-ts/core/Either"; import type { Kind, TypeLambda } from "@fp-ts/core/HKT"; import * as O from "@fp-ts/core/Option"; import * as T from "@fp-ts/core/These"; import type { Monad } from "@fp-ts/core/typeclass/Monad"; /** * @category symbols * @since 1.0.0 */ export declare const GenKindTypeId: unique symbol; /** * @category symbols * @since 1.0.0 */ export type GenKindTypeId = typeof GenKindTypeId; /** * @category models * @since 1.0.0 */ export interface GenKind extends Variance { readonly value: Kind; [Symbol.iterator](): Generator, A>; } /** * @category constructors * @since 1.0.0 */ export declare class GenKindImpl implements GenKind { /** * @since 1.0.0 */ readonly value: Kind; constructor( /** * @since 1.0.0 */ value: Kind); /** * @since 1.0.0 */ get _F(): (a: A_1) => A_1; /** * @since 1.0.0 */ get _R(): (_: R) => R; /** * @since 1.0.0 */ get _O(): (_: never) => O; /** * @since 1.0.0 */ get _E(): (_: never) => E; /** * @since 1.0.0 */ readonly [GenKindTypeId]: typeof GenKindTypeId; /** * @since 1.0.0 */ [Symbol.iterator](): Generator, A>; } /** * @category constructors * @since 1.0.0 */ export declare class SingleShotGen implements Generator { readonly self: T; private called; constructor(self: T); /** * @since 1.0.0 */ next(a: A): IteratorResult; /** * @since 1.0.0 */ return(a: A): IteratorResult; /** * @since 1.0.0 */ throw(e: unknown): IteratorResult; /** * @since 1.0.0 */ [Symbol.iterator](): Generator; } /** * @category constructors * @since 1.0.0 */ export declare const makeGenKind: (kind: Kind) => GenKind; /** * @category models * @since 1.0.0 */ export interface Variance { readonly [GenKindTypeId]: GenKindTypeId; readonly _F: (_: F) => F; readonly _R: (_: R) => unknown; readonly _O: (_: never) => O; readonly _E: (_: never) => E; } /** * @category models * @since 1.0.0 */ export interface Gen { , A>(body: (resume: Z) => Generator): Kind] ? R : never, [ K ] extends [Variance] ? O : never, [ K ] extends [Variance] ? E : never, A>; } /** * @category models * @since 1.0.0 */ export interface Adapter { (self: Kind): GenKind; } /** * @category adapters * @since 1.0.0 */ export declare const adapter: () => Adapter; /** * @category constructors * @since 1.0.0 */ export declare const singleShot: (F: Monad) => >(adapter: Z) => Gen; /** * @since 1.0.0 * @category instances */ export declare const Either: Gen>; /** * @since 1.0.0 * @category instances */ export declare const These: Gen>; /** * @since 1.0.0 * @category instances */ export declare const Option: Gen>; //# sourceMappingURL=Gen.d.ts.map