Deprecated export class ResolvablePromise < T > implements Promise < T > { public readonly [ Symbol . toStringTag ] : "Promise" ; public promise : Promise < T > ; public resolve : ( value : T ) => void = ( ) => { } ; constructor ( ) { this . promise = new Promise < T > ( ( resolve , reject ) => { this . resolve = resolve ; } ) ; } public async get ( ) { return this . promise ; } public set ( value ) { this . resolve ( value ) ; } public catch < TResult = never > ( onrejected ? ) { return this . promise . catch ( onrejected ) ; } public then < TResult1 = T , TResult2 = never > ( onresolved ? , onrejected ? ) { return this . promise . then ( onresolved , onrejected ) ; } public finally ( onfinally ? ) { return this . promise . finally ( onfinally ) ; } } type OnResolvedCallback < T > = ( ( reason : any ) => ( PromiseLike < T > | T ) ) | null | undefined ; type OnRejectedCallback < T > = ( ( reason : any ) => ( PromiseLike < T > | T ) ) | null | undefined ;