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