import { HKT } from "@tsplus/stdlib/prelude/HKT"; import { LazyArg } from "@tsplus/stdlib/data/Function"; import { Monad } from "@tsplus/stdlib/prelude/Monad"; import { List } from "@tsplus/stdlib/collections/List/definition"; export declare class GenHKT { readonly effect: T; constructor(effect: T); [Symbol.iterator](): Generator, A, any>; } export declare class GenLazyHKT { readonly effect: () => T; constructor(effect: () => T); [Symbol.iterator](): Generator, A, any>; } /** * To be used with multi-shot monads, required adapter to be lazy and is O(n^2) * perf wise because the generator needs to be replayed. * @tsplus static DSL genWithHistoryF * @tsplus location "@tsplus/stdlib/prelude/DSL/genF" */ export declare function genWithHistoryF(_: LazyArg>): GenLazyHKT, A>; }>(F: Monad, config?: { adapter?: ADAPTER; }): , any>, AEff>(f: (i: ADAPTER) => Generator) => import("../HKT").HKT.Kind>, import("../HKT").HKT.Infer>, AEff>; /** * To be used in one-shot monads, adapter is eager and perf is native. * @tsplus static DSL genF * @tsplus location "@tsplus/stdlib/prelude/DSL/genF" */ export declare function genF(_: HKT.Kind): GenHKT, A>; }>(F: Monad, config?: { adapter?: ADAPTER; }): , any>, AEff>(f: (i: ADAPTER) => Generator) => import("../HKT").HKT.Kind, import("../HKT").HKT.Infer, AEff>; //# sourceMappingURL=genF.d.ts.map