import type { Chunk } from "../Collections/Immutable/Chunk/index.js";
import type { Effect } from "./effect.js";
/**
* Feeds elements of type `A` to `f` until it succeeds. Returns first success
* or the accumulation of all errors.
*/
export declare function validateFirst_(i: Iterable, f: (a: A) => Effect, __trace?: string): Effect, B>;
/**
* Feeds elements of type `A` to `f` until it succeeds. Returns first success
* or the accumulation of all errors.
*
* @ets_data_first validateFirst_
*/
export declare function validateFirst(f: (a: A) => Effect, __trace?: string): (i: Iterable) => Effect, B>;
/**
* Feeds elements of type `A` to `f`, in parallel, until it succeeds. Returns
* first success or the accumulation of all errors.
*
* In case of success all other running fibers are terminated.
*/
export declare function validateFirstPar_(i: Iterable, f: (a: A) => Effect, __trace?: string): Effect, B>;
/**
* Feeds elements of type `A` to `f`, in parallel, until it succeeds. Returns
* first success or the accumulation of all errors.
*
* In case of success all other running fibers are terminated.
*
* @ets_data_first validateFirstPar_
*/
export declare function validateFirstPar(f: (a: A) => Effect, __trace?: string): (i: Iterable) => Effect, B>;
/**
* Feeds elements of type `A` to `f`, in parallel, until it succeeds. Returns
* first success or the accumulation of all errors.
*
* In case of success all other running fibers are terminated.
*
* Uses up to N fibers.
*/
export declare function validateFirstParN_(i: Iterable, n: number, f: (a: A) => Effect, __trace?: string): Effect, B>;
/**
* Feeds elements of type `A` to `f`, in parallel, until it succeeds. Returns
* first success or the accumulation of all errors.
*
* In case of success all other running fibers are terminated.
*
* Uses up to N fibers.
*
* @ets_data_first validateFirstParN_
*/
export declare function validateFirstParN(n: number, f: (a: A) => Effect, __trace?: string): (i: Iterable) => Effect, B>;
//# sourceMappingURL=validateFirst.d.ts.map