import type { Effect } from "../../../../Effect/effect"
import type * as Chunk from "../core"
/**
 * Folds over the elements in this chunk from the left.
 * Stops the fold early when the condition is not fulfilled.
 */
export declare function reduceWhileM_<A, R, E, S>(
  self: Chunk.Chunk<A>,
  s: S,
  pred: (s: S) => boolean,
  f: (s: S, a: A) => Effect<R, E, S>
): Effect<R, E, S>
/**
 * Folds over the elements in this chunk from the left.
 * Stops the fold early when the condition is not fulfilled.
 *
 * @dataFirst reduceWhileM_
 */
export declare function reduceWhileM<A, R, E, S>(
  s: S,
  pred: (s: S) => boolean,
  f: (s: S, a: A) => Effect<R, E, S>
): (self: Chunk.Chunk<A>) => Effect<R, E, S>
//# sourceMappingURL=reduceWhileM.d.ts.map
