import { Effect } from "@effect/core/io/Effect/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
import { Collection } from "@tsplus/stdlib/collections/Collection/definition";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
/**
 * Returns an effect that executes both this effect and the specified effect,
 * in parallel. Combines both Cause<E1>` when both effects fail.
 * @tsplus fluent ets/Effect validatePar
 * @tsplus location "@effect/core/io/Effect/operations/validatePar"
 */
export declare function validateParNow_<R, E, A, R1, E1, B>(self: Effect<R, E, A>, that: LazyArg<Effect<R1, E1, B>>, __tsplusTrace?: string): Effect<R | R1, E | E1, Tuple<[A, B]>>;
/**
 * Returns an effect that executes both this effect and the specified effect,
 * in parallel. Combines both Cause<E1>` when both effects fail.
 * @tsplus static ets/Effect/Aspects validatePar
 * @tsplus pipeable ets/Effect validatePar
 * @tsplus location "@effect/core/io/Effect/operations/validatePar"
 */
export declare const validateParNow: <R1, E1, B>(that: import("@tsplus/stdlib/data/Function").LazyArg<import("../definition").Effect<R1, E1, B>>, __tsplusTrace?: string) => <R, E, A>(self: import("../definition").Effect<R, E, A>) => import("../definition").Effect<R | R1, E | E1, import("@tsplus/stdlib/data/Tuple").Tuple<[A, B]>>;
/**
 * Feeds elements of type `A` to `f `and accumulates, in parallel, all errors
 * in error channel or successes in success channel.
 *
 * This combinator is lossy meaning that if there are errors all successes
 * will be lost. To retain all information please use [[partitionPar]].
 * @tsplus static ets/Effect/Ops validatePar
 * @tsplus location "@effect/core/io/Effect/operations/validatePar"
 */
export declare function validatePar<R, E, A, B>(as: LazyArg<Collection<A>>, f: (a: A) => Effect<R, E, B>, __tsplusTrace?: string): Effect<R, Chunk<E>, Chunk<B>>;
//# sourceMappingURL=validatePar.d.ts.map