import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Predicate } from "@tsplus/stdlib/data/Predicate";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/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 foldChunks
 * @tsplus location "@effect/core/stream/Sink/operations/foldChunks"
 */
export declare function foldChunks<In, S>(z: LazyArg<S>, cont: Predicate<S>, f: (s: S, input: Chunk<In>) => S, __tsplusTrace?: string): Sink<never, never, In, unknown, S>;
//# sourceMappingURL=foldChunks.d.ts.map