// @target: es2015 // https://github.com/Microsoft/TypeScript/issues/18186 class AsyncEnumeratorDone { }; interface IAsyncEnumerator { next1(): Promise; next2(): Promise | Promise; next3(): Promise; next4(): Promise; } async function main() { const x: IAsyncEnumerator = null; let a = await x.next1(); let b = await x.next2(); let c = await x.next3(); let d = await x.next4(); }