import { Effect } from "@effect/core/io/Effect/definition";
import { Cause } from "@effect/core/io/Cause/definition";
/**
 * @tsplus fluent ets/Effect onDoneCause
 * @tsplus location "@effect/core/io/Effect/operations/onDoneCause"
 */
export declare function onDoneCause_<R, E, A, R1, X1, R2, X2>(self: Effect<R, E, A>, error: (e: Cause<E>) => Effect<R1, never, X1>, success: (a: A) => Effect<R2, never, X2>, __tsplusTrace?: string): Effect.RIO<R | R1 | R2, void>;
/**
 * @tsplus static ets/Effect/Aspects onDoneCause
 * @tsplus pipeable ets/Effect onDoneCause
 * @tsplus location "@effect/core/io/Effect/operations/onDoneCause"
 */
export declare const onDoneCause: <E, A, R1, X1, R2, X2>(error: (e: import("../../Cause").Cause<E>) => import("../definition").Effect<R1, never, X1>, success: (a: A) => import("../definition").Effect<R2, never, X2>, __tsplusTrace?: string) => <R>(self: import("../definition").Effect<R, E, A>) => import("../definition").Effect.RIO<R | R1 | R2, void>;
//# sourceMappingURL=onDoneCause.d.ts.map