import { STM } from "@effect/core/stm/STM/definition/base";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
/**
 * Recovers from some or all of the error cases.
 * @tsplus fluent ets/STM catchSome
 * @tsplus location "@effect/core/stm/STM/operations/catchSome"
 */
export declare function catchSome_<R, E, A, R1, E1, B>(self: STM<R, E, A>, f: (e: E) => Maybe<STM<R1, E1, B>>): STM<R1 | R, E | E1, A | B>;
/**
 * Recovers from some or all of the error cases.
 * @tsplus static ets/STM/Aspects catchSome
 * @tsplus pipeable ets/STM catchSome
 * @tsplus location "@effect/core/stm/STM/operations/catchSome"
 */
export declare const catchSome: <E, R1, E1, B>(f: (e: E) => import("@tsplus/stdlib/data/Maybe").Maybe<import("../definition").STM<R1, E1, B>>) => <R, A>(self: import("../definition").STM<R, E, A>) => import("../definition").STM<R | R1, E | E1, A | B>;
//# sourceMappingURL=catchSome.d.ts.map