import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Recovers from specified error.
 * @tsplus fluent ets/Effect catch
 * @tsplus location "@effect/core/io/Effect/operations/catch"
 */
export declare function catch_<N extends keyof E, K extends E[N] & string, E, R, A, R1, E1, A1>(self: Effect<R, E, A>, tag: N, k: K, f: (e: Extract<E, {
    [n in N]: K;
}>) => Effect<R1, E1, A1>, __tsplusTrace?: string): Effect<R | R1, Exclude<E, {
    [n in N]: K;
}> | E1, A | A1>;
/**
 * Recovers from specified error.
 * @tsplus static ets/Effect/Aspects catch
 * @tsplus location "@effect/core/io/Effect/operations/catch"
 */
export declare function _catch<N extends keyof E, K extends E[N] & string, E, R1, E1, A1>(tag: N, k: K, f: (e: Extract<E, {
    [n in N]: K;
}>) => Effect<R1, E1, A1>, __tsplusTrace?: string): <R, A>(self: import("../definition").Effect<R, E, A>) => import("../definition").Effect<R1 | R, E1 | Exclude<E, { [n in N]: K; }>, A1 | A>;
export { _catch as catch };
//# sourceMappingURL=catch.d.ts.map