import { Effect } from "@effect/core/io/Effect/definition";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
/**
 * Retrieves the maximum number of fibers for parallel operators or `None` if
 * it is unbounded.
 * @tsplus static ets/Effect/Ops parallelism
 * @tsplus location "@effect/core/io/Effect/operations/parallelism"
 */
export declare function parallelism(__tsplusTrace?: string): Effect<never, never, Maybe<number>>;
/**
 * Retrieves the current maximum number of fibers for parallel operators and
 * uses it to run the specified effect.
 * @tsplus static ets/Effect/Ops parallelismWith
 * @tsplus location "@effect/core/io/Effect/operations/parallelism"
 */
export declare function parallelismWith<R, E, A>(f: (parallelism: Maybe<number>) => Effect<R, E, A>, __tsplusTrace?: string): Effect<R, E, A>;
/**
 * Runs the specified effect with the specified maximum number of fibers for
 * parallel operators.
 * @tsplus fluent ets/Effect withParallelism
 * @tsplus location "@effect/core/io/Effect/operations/parallelism"
 */
export declare function withParallelism_<R, E, A>(self: Effect<R, E, A>, n: number, __tsplusTrace?: string): Effect<R, E, A>;
/**
 * Runs the specified effect with the specified maximum number of fibers for
 * parallel operators.
 * @tsplus static ets/Effect/Aspects withParallelism
 * @tsplus pipeable ets/Effect withParallelism
 * @tsplus location "@effect/core/io/Effect/operations/parallelism"
 */
export declare const withParallelism: (n: number, __tsplusTrace?: string) => <R, E, A>(self: import("../definition").Effect<R, E, A>) => import("../definition").Effect<R, E, A>;
/**
 * Runs the specified effect with an unbounded maximum number of fibers for
 * parallel operators.
 * @tsplus fluent ets/Effect withParallelismUnbounded
 * @tsplus location "@effect/core/io/Effect/operations/parallelism"
 */
export declare function withParallelismUnbounded<R, E, A>(self: Effect<R, E, A>, __tsplusTrace?: string): Effect<R, E, A>;
//# sourceMappingURL=parallelism.d.ts.map