import { ErrorOrigin } from '../types/ErrorOrigin';
import { List } from '../types/List';
type Pro = A | PromiseLike;
type Aw = Awaited;
export declare const resolve: (subject: S | PromiseLike) => Promise;
export declare const reject: (e: ErrorOrigin) => Promise;
export declare const tuple: {
2: (first: Pro, second: Pro) => Promise<[Aw, Aw]>;
3: (first: Pro, second: Pro, third: Pro) => Promise<[Aw, Aw, Aw]>;
4: (first: Pro, second: Pro, third: Pro, forth: Pro) => Promise<[Aw, Aw, Aw, Aw]>;
5: (first: Pro, second: Pro, third: Pro, forth: Pro, fifth: Pro) => Promise<[Aw, Aw, Aw, Aw, Aw]>;
all: (first: Pro, second: Pro[]) => Promise<[Aw, Aw]>;
spread: (first: Pro, ...second: Pro[]) => Promise<[Aw, Aw]>;
list: (list: Pro[]) => Promise>>;
settled: (list: Pro[]) => Promise<{
fulfilled: List>;
rejected: List;
}>;
object: >(obj: T) => Promise<{ [K in keyof T]: Aw; }>;
};
export declare const tuple2: (first: Pro, second: Pro) => Promise<[Aw, Aw]>;
export declare const tuple3: (first: Pro, second: Pro, third: Pro) => Promise<[Aw, Aw, Aw]>;
export declare const tuple4: (first: Pro, second: Pro, third: Pro, forth: Pro) => Promise<[Aw, Aw, Aw, Aw]>;
export declare const tuple5: (first: Pro, second: Pro, third: Pro, forth: Pro, fifth: Pro) => Promise<[Aw, Aw, Aw, Aw, Aw]>;
export declare const tupleO: >(obj: T) => Promise<{ [K in keyof T]: Aw; }>;
export declare const settled: (list: Pro[]) => Promise<{
fulfilled: List>;
rejected: List;
}>;
export {};