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