import { Sink } from "@effect/core/stream/Sink/definition/base";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Effectfully transforms both input chunks and result of this sink using the
 * provided functions. `f` and `g` must preserve chunking-invariance.
 * @tsplus fluent ets/Sink dimapChunksEffect
 * @tsplus location "@effect/core/stream/Sink/operations/dimapChunksEffect"
 */
export declare function dimapChunksEffect_<R, E, R2, E2, In, In1, L, Z, Z1>(self: Sink<R, E, In, L, Z>, f: (input: Chunk<In1>) => Effect<R2, E2, Chunk<In>>, g: (z: Z) => Z1, __tsplusTrace?: string): Sink<R | R2, E | E2, In1, L, Z1>;
/**
 * Effectfully transforms both input chunks and result of this sink using the
 * provided functions. `f` and `g` must preserve chunking-invariance.
 * @tsplus static ets/Sink/Aspects dimapChunksEffect
 * @tsplus pipeable ets/Sink dimapChunksEffect
 * @tsplus location "@effect/core/stream/Sink/operations/dimapChunksEffect"
 */
export declare const dimapChunksEffect: <R2, E2, In, In1, Z, Z1>(f: (input: import("@tsplus/stdlib/collections/Chunk").Chunk<In1>) => import("../../../io/Effect").Effect<R2, E2, import("@tsplus/stdlib/collections/Chunk").Chunk<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=dimapChunksEffect.d.ts.map