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