type PromiseState = 'pending' | 'fulfilled' | 'rejected'; export declare class TrackedPromise { promise: Promise; error: any; state: PromiseState; value?: T; constructor(executor: (resolve: (value: T) => void, reject: (reason?: any) => void) => void); getPromise(): Promise; getState(): PromiseState; isPending(): boolean; isFulfilled(): boolean; isRejected(): boolean; getValue(): T | undefined; getError(): any; then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): Promise; finally(onfinally?: (() => void) | undefined | null): Promise; } export {};