I'm working in an Angular/AngularJs hybrid application with TypeScript (versions 9.07, 1.5.11, and 3.7.5, respectively). All of our HTTP requests, even the ones made from new Angular components, use a wrapper service implemented in plain Javascript, originally developed along with the "legacy" AngularJs side of the application, whose methods return $q promises generated by the AngularJs $http service. Since that service is plain Javascript, typing of return values isn't a problem, since TypeScript considers them just an any, which it's perfectly happy to let me cast as an IPromise<TReturnType>.
My question is whether those promises are fully compatible with the async and await keywords in TypeScript. Trying it out with simple examples seemed to work fine, but I'm concerned about corner-case problems that would only show up at runtime using those keywords with non-native Promises.