Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value.
The return type of an async function must either be a valid promise or must not contain a callable 'then' member.
A promise must have a 'then' method.
The first parameter of the 'then' method of a promise must be a callback.
Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method.
The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?