export declare class PromiseCompleter { promise: Promise; resolve: (value?: R | PromiseLike) => void; reject: (error?: any, stackTrace?: string) => void; constructor(); } export declare class PromiseWrapper { static resolve(obj: T): Promise; static reject(obj: any, _: any): Promise; static catchError(promise: Promise, onError: (error: any) => T | PromiseLike): Promise; static all(promises: (T | Promise)[]): Promise; static then(promise: Promise, success: (value: T) => U | PromiseLike, rejection?: (error: any, stack?: any) => U | PromiseLike): Promise; static wrap(computation: () => T): Promise; static scheduleMicrotask(computation: () => any): void; static isPromise(obj: any): boolean; static completer(): PromiseCompleter; }