import { Sink } from "@effect/core/stream/Sink/definition/base";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Effectfully transforms both inputs and result of this sink using the
 * provided functions.
 * @tsplus fluent ets/Sink dimapEffect
 * @tsplus location "@effect/core/stream/Sink/operations/dimapEffect"
 */
export declare function dimapEffect_<R, E, R2, E2, In, In1, L, Z, Z1>(self: Sink<R, E, In, L, Z>, f: (input: In1) => Effect<R2, E2, In>, g: (z: Z) => Z1, __tsplusTrace?: string): Sink<R | R2, E | E2, In1, L, Z1>;
/**
 * Effectfully transforms both inputs and result of this sink using the
 * provided functions.
 * @tsplus static ets/Sink/Aspects dimapEffect
 * @tsplus pipeable ets/Sink dimapEffect
 * @tsplus location "@effect/core/stream/Sink/operations/dimapEffect"
 */
export declare const dimapEffect: <R2, E2, In, In1, Z, Z1>(f: (input: In1) => import("../../../io/Effect").Effect<R2, E2, In>, g: (z: Z) => Z1, __tsplusTrace?: string) => <R, E, L>(self: import("../definition").Sink<R, E, In, L, Z>) => import("../definition").Sink<R | R2, E | E2, In1, L, Z1>;
//# sourceMappingURL=dimapEffect.d.ts.map