import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Predicate } from "@tsplus/stdlib/data/Predicate";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Effect } from "@effect/core/io/Effect/definition";
import { Sink } from "@effect/core/stream/Sink/definition/base";
import { Channel } from "@effect/core/stream/Channel/definition/base";
/**
 * A sink that folds its input chunks with the provided function, termination
 * predicate and initial state. The `cont` condition is checked only for the
 * initial value and at the end of processing of each chunk. `f` and `cont`
 * must preserve chunking-invariance.
 * @tsplus static ets/Sink/Ops foldChunksEffect
 * @tsplus location "@effect/core/stream/Sink/operations/foldChunksEffect"
 */
export declare function foldChunksEffect<R, E, S, In>(z: LazyArg<S>, cont: Predicate<S>, f: (s: S, input: Chunk<In>) => Effect<R, E, S>, __tsplusTrace?: string): Sink<R, E, In, never, S>;
//# sourceMappingURL=foldChunksEffect.d.ts.map