/**
 * @file Safe references to `Promise` static methods, prototype methods, and the
 *   ES2024 `withResolvers` factory. Static methods are bound to `Promise` so
 *   callers can pass them around as standalone functions (`PromiseAll(arr)`
 *   instead of `Promise.all(arr)`); the `this`-receiver capture matches Node's
 *   primordials convention.
 */
export declare const PromiseCtor: PromiseConstructor;
export declare const PromiseAll: {
    <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>;
    <T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>;
};
export declare const PromiseAllSettled: {
    <T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: PromiseSettledResult<Awaited<T[P]>>; }>;
    <T>(values: Iterable<T | PromiseLike<T>>): Promise<PromiseSettledResult<Awaited<T>>[]>;
};
export declare const PromiseAny: {
    <T extends readonly unknown[] | []>(values: T): Promise<Awaited<T[number]>>;
    <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;
};
export declare const PromiseRace: {
    <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;
    <T extends readonly unknown[] | []>(values: T): Promise<Awaited<T[number]>>;
};
export declare const PromiseReject: <T = never>(reason?: any) => Promise<T>;
export declare const PromiseResolve: {
    (): Promise<void>;
    <T>(value: T): Promise<Awaited<T>>;
    <T>(value: T | PromiseLike<T>): Promise<Awaited<T>>;
};
export declare const PromiseWithResolvers: typeof Promise.withResolvers | undefined;
export declare const PromisePrototypeCatch: <TResult = never>(self: unknown, onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined) => Promise<any>;
export declare const PromisePrototypeFinally: (self: unknown, onfinally?: (() => void) | null | undefined) => Promise<any>;
export declare const PromisePrototypeThen: <TResult1 = any, TResult2 = never>(self: unknown, onfulfilled?: ((value: any) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>;
