import type { Effect } from "./effect.js"; /** * Recovers from errors by accepting one effect to execute for the case of an * error, and one effect to execute for the case of success. * * This method has better performance than `either` since no intermediate * value is allocated and does not require subsequent calls to `flatMap` to * define the next effect. * * The error parameter of the returned `IO` may be chosen arbitrarily, since * it will depend on the `IO`s returned by the given continuations. */ export declare function foldM_(value: Effect, failure: (failure: E) => Effect, success: (a: A) => Effect, __trace?: string): Effect; /** * Recovers from errors by accepting one effect to execute for the case of an * error, and one effect to execute for the case of success. * * This method has better performance than `either` since no intermediate * value is allocated and does not require subsequent calls to `flatMap` to * define the next effect. * * The error parameter of the returned `IO` may be chosen arbitrarily, since * it will depend on the `IO`s returned by the given continuations. * * @ets_data_first foldM_ */ export declare function foldM(failure: (failure: E) => Effect, success: (a: A) => Effect, __trace?: string): (value: Effect) => Effect; //# sourceMappingURL=foldM.d.ts.map