import type { Effect } from "../../../../Effect/effect"
import * as O from "../../../../Option"
import * as Chunk from "../core"
/**
 * Transforms all elements of the chunk for as long as the specified partial function is defined.
 */
export declare function collectWhileM_<A, R, E, B>(
  self: Chunk.Chunk<A>,
  f: (a: A) => O.Option<Effect<R, E, B>>
): Effect<R, E, Chunk.Chunk<B>>
/**
 * Transforms all elements of the chunk for as long as the specified partial function is defined.
 *
 * @dataFirst collectWhileM_
 */
export declare function collectWhileM<A, R, E, B>(
  f: (a: A) => O.Option<Effect<R, E, B>>
): (self: Chunk.Chunk<A>) => Effect<R, E, Chunk.Chunk<B>>
//# sourceMappingURL=collectWhileM.d.ts.map
