import { NoSuchElementException } from "../GlobalExceptions"; import type { Option } from "../Option"; import type { _E } from "../support/utils"; import type { Sync } from "../Sync"; import type { Either } from "./model"; export declare class GenEither { readonly E: Either; readonly _E: () => E; readonly _A: () => A; constructor(E: Either); [Symbol.iterator](): Generator, A, any>; } export declare function gen(): >( f: (i: { (_: Sync): GenEither; (_: Sync, r: R): GenEither; (_: Option, onNone: () => E): GenEither; (_: Option): GenEither; (_: Either): GenEither; }) => Generator ) => Either<_E, A0>; export declare function gen(): >( f: (i: { (_: Sync): GenEither; (_: Sync, r: R): GenEither; (_: Option, onNone: () => E): GenEither; (_: Option): GenEither; (_: Either): GenEither; }) => Generator ) => Either<_E, A0>; export declare function gen, A>( f: (i: { (_: Sync): GenEither; (_: Sync, r: R): GenEither; (_: Option, onNone: () => E): GenEither; (_: Option): GenEither; (_: Either): GenEither; }) => Generator ): Either<_E, A>; //# sourceMappingURL=gen.d.ts.map