export declare type ResolveAndRejectCallback = (resolve: (value: T) => void, reject: (params: any) => void) => void; export declare enum PromiseStatus { IN_PROGRESS = 0, RESOLVED = 1 } export declare class Promise { private status; private resolution; private waiters; static all(promises: Promise[]): Promise; static resolve(value?: T): Promise; constructor(callback: ResolveAndRejectCallback); then(func: (result: T) => V): Promise; resolveNow(ifNotResolvedValue: Z, ifResolved: (current: T | null) => Z): Z; private onDone; private onReject; }