import type { Rhodium } from "./Rhodium.mts"; import type { Errored } from "./terminology.mts"; type ifNever = [never, T] extends [T, never] ? Y : N; type NeverIfOneElementIsNever = "yes" extends { [Prop in keyof Arr]: ifNever; }[keyof Arr & number] ? never : Arr; type AllAwaited[]> = NeverIfOneElementIsNever<{ -readonly [P in keyof Ps]: Awaited; }>; /** * Creates a Rhodium that is * resolved with an array of results when all of the provided values resolve, or * rejected when any {@linkcode PromiseLike} is rejected. */ export declare function all[]>(values: Ps): Rhodium, Errored>; type AllErrored[]> = NeverIfOneElementIsNever<{ -readonly [P in keyof Ps]: Errored; }>; /** * Returns a Rhodium that is * resolved by the result of the first value to resolve, or * rejected with an array of rejection reasons if all of the given values are rejected. */ export declare function any[]>(values: Ps): Rhodium, AllErrored>; /** * Creates a Rhodium that is * resolved or rejected when any of the provided values are resolved or rejected. */ export declare function race[]>(values: Ps): Rhodium, Errored>; export {};