import type { Either } from "../Either/index.js"; import type { NoSuchElementException } from "../GlobalExceptions/index.js"; import type { Has, Tag } from "../Has/index.js"; import type { Managed } from "../Managed/managed.js"; import type { Option } from "../Option/index.js"; import * as Utils from "../Utils/index.js"; import { _A, _E, _R } from "./commons.js"; import type { Effect } from "./effect.js"; export declare class GenEffect { readonly effect: Effect | Managed; readonly trace?: string | undefined; readonly [_R]: (_R: R) => void; readonly [_E]: () => E; readonly [_A]: () => A; constructor(effect: Effect | Managed, trace?: string | undefined); [Symbol.iterator](): Generator, A, any>; } export interface Adapter { (_: Tag, __trace?: string): GenEffect, never, A>; (_: Option, onNone: () => E, __trace?: string): GenEffect; (_: Option, __trace?: string): GenEffect; (_: Either, __trace?: string): GenEffect; (_: Effect, __trace?: string): GenEffect; } export interface AdapterWithManaged extends Adapter { (_: Managed, __trace?: string): GenEffect; } export declare function genM, AEff>(f: (i: AdapterWithManaged) => Generator, __trace?: string): Effect, Utils._E, AEff>; export declare function gen, AEff>(f: (i: Adapter) => Generator, __trace?: string): Effect, Utils._E, AEff>; //# sourceMappingURL=gen.d.ts.map