import { Sink } from "@effect/core/stream/Sink/definition/base";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Effectfully transforms this sink's input elements.
 * @tsplus fluent ets/Sink contramapEffect
 * @tsplus location "@effect/core/stream/Sink/operations/contramapEffect"
 */
export declare function contramapEffect_<R, E, R2, E2, In, In1, L, Z>(self: Sink<R, E, In, L, Z>, f: (input: In1) => Effect<R2, E2, In>, __tsplusTrace?: string): Sink<R | R2, E | E2, In1, L, Z>;
/**
 * Effectfully transforms this sink's input elements.
 * @tsplus static ets/Sink/Aspects contramapEffect
 * @tsplus pipeable ets/Sink contramapEffect
 * @tsplus location "@effect/core/stream/Sink/operations/contramapEffect"
 */
export declare const contramapEffect: <R2, E2, In, In1>(f: (input: In1) => import("../../../io/Effect").Effect<R2, E2, In>, __tsplusTrace?: string) => <R, E, L, Z>(self: import("../definition").Sink<R, E, In, L, Z>) => import("../definition").Sink<R | R2, E | E2, In1, L, Z>;
//# sourceMappingURL=contramapEffect.d.ts.map