import { STM } from "@effect/core/stm/STM/definition/base";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
/**
 * Keeps some of the errors, and terminates the fiber with the rest, using
 * the specified function to convert the `E` into a `Throwable`.
 * @tsplus fluent ets/STM refineOrDieWith
 * @tsplus location "@effect/core/stm/STM/operations/refineOrDieWith"
 */
export declare function refineOrDieWith_<R, A, E, E1>(self: STM<R, E, A>, pf: (e: E) => Maybe<E1>, f: (e: E) => unknown): import("../definition").STM<R, E1, A>;
/**
 * Keeps some of the errors, and terminates the fiber with the rest, using
 * the specified function to convert the `E` into a `Throwable`.
 * @tsplus static ets/STM/Aspects refineOrDieWith
 * @tsplus pipeable ets/STM refineOrDieWith
 * @tsplus location "@effect/core/stm/STM/operations/refineOrDieWith"
 */
export declare const refineOrDieWith: <E, E1>(pf: (e: E) => import("@tsplus/stdlib/data/Maybe").Maybe<E1>, f: (e: E) => unknown) => <R, A>(self: import("../definition").STM<R, E, A>) => import("../definition").STM<R, E1, A>;
//# sourceMappingURL=refineOrDieWith.d.ts.map