import { ResultStatus } from './ResultStatus';
type FulfiledResult<T> = {
    status: ResultStatus.FULFILLED;
    value: T;
};
type RejectedResult = {
    reason: any;
    status: ResultStatus.FAILED;
};
/**
 * Will wait for all promises to resolve or reject, wrapping their real results in
 * object containing the status so it's easy to filter it later. Loosely inspired by
 * [Promise.allSettled](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled)
 * which can replace this implementation once it makes to the browsers.
 * @param promises
 */
export declare const waitForAllPromises: <T>(promises: Promise<T>[]) => Promise<(FulfiledResult<T> | RejectedResult)[]>;
/**
 * Find all fullfilled promises and return their values
 * @param results
 */
export declare const getOnlyFulfilled: <T>(results: (FulfiledResult<T> | RejectedResult)[]) => T[];
export {};
