import { Effect } from "@effect/core/io/Effect/definition"; import type { EffectURI } from "@effect/core/io/Effect/definition/base"; type NonEmptyArrayEffect = Array> & { readonly 0: Effect; }; export type TupleA = { [K in keyof T]: [T[K]] extends [Effect] ? A : never; }; /** * Like `forEach` + `identity` with a tuple type. * @tsplus static effect/core/io/Effect.Ops tuple * @tsplus location "@effect/core/io/Effect/operations/tuple" */ export declare function tuple(...t: T & { 0: Effect; }): Effect<[ T[number] ] extends [{ [EffectURI]: { _R: (_: never) => infer R; }; }] ? R : never, [ T[number] ] extends [{ [EffectURI]: { _E: (_: never) => infer E; }; }] ? E : never, TupleA>; /** * Like tuple but parallel, same as `forEachPar` + `identity` with a tuple type. * @tsplus static effect/core/io/Effect.Ops tuplePar * @tsplus location "@effect/core/io/Effect/operations/tuple" */ export declare function tuplePar(...t: T & { 0: Effect; }): Effect<[ T[number] ] extends [{ [EffectURI]: { _R: (_: never) => infer R; }; }] ? R : never, [ T[number] ] extends [{ [EffectURI]: { _E: (_: never) => infer E; }; }] ? E : never, TupleA>; export {}; //# sourceMappingURL=tuple.d.ts.map