import { HKT } from "@tsplus/stdlib/prelude/HKT"; import { Either } from "@tsplus/stdlib/data/Either/definition"; /** * @tsplus type ChainRec */ export interface ChainRec extends HKT.Typeclass { readonly Law: { readonly ChainRec: "ChainRec"; }; readonly chainRec: (f: (a: A) => HKT.Kind>) => (a: A) => HKT.Kind; } /** * @tsplus type ChainRec/Ops */ export interface ChainRecOps { } export declare const ChainRec: ChainRecOps; /** * @tsplus static ChainRec/Ops tailRec * @tsplus location "@tsplus/stdlib/prelude/ChainRec" */ export declare function tailRec(a: A, f: (a: A) => Either): B; //# sourceMappingURL=ChainRec.d.ts.map