import { STM } from "@effect/core/stm/STM/definition/base";
/**
 * Folds over the `STM` effect, handling both P.failure and success, but not
 * retry.
 * @tsplus fluent ets/STM fold
 * @tsplus location "@effect/core/stm/STM/operations/fold"
 */
export declare function fold_<R, E, A, B, C>(self: STM<R, E, A>, g: (e: E) => C, f: (a: A) => B): STM<R, never, B | C>;
/**
 * Folds over the `STM` effect, handling both P.failure and success, but not
 * retry.
 * @tsplus static ets/STM/Aspects fold
 * @tsplus pipeable ets/STM fold
 * @tsplus location "@effect/core/stm/STM/operations/fold"
 */
export declare const fold: <E, A, B, C>(g: (e: E) => C, f: (a: A) => B) => <R>(self: import("../definition").STM<R, E, A>) => import("../definition").STM<R, never, B | C>;
//# sourceMappingURL=fold.d.ts.map