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