export interface IDefer { resolve: (value: TResult) => void; reject: (error: any) => void; isFulfilled: boolean; promise: Promise; } export declare function raceToResolution(promises: Promise[], onErrorCallback?: (err: any) => void): Promise; export declare function defer(): IDefer; export declare function delay(ms: number): Promise; export declare function wrapWithTimeout(promise: Promise, ms: number): Promise; export declare class AsyncTimeout { get promise(): Promise; get timedOut(): boolean; private _timedOut; private _timer; private _promise; private _op; private _resolve; private _reject; constructor(ms: number, op?: string); private _getTimeoutError; cancel(): void; } export type PromiseStatus = "PENDING" | "RESOLVED" | "REJECTED"; export declare class PromiseStatusTracker { private _status; private _promise; constructor(promise: Promise); static track(promise: Promise): PromiseStatusTracker; isFullfilled(): boolean; isResolved(): boolean; isRejected(): boolean; } //# sourceMappingURL=PromiseUtil.d.ts.map