// @target: es2017 type MyPromise = Promise; declare var MyPromise: typeof Promise; declare var p: Promise; declare var mp: MyPromise; async function f0() { } async function f1(): Promise { } async function f3(): MyPromise { } let f4 = async function() { } let f5 = async function(): Promise { } let f6 = async function(): MyPromise { } let f7 = async () => { }; let f8 = async (): Promise => { }; let f9 = async (): MyPromise => { }; let f10 = async () => p; let f11 = async () => mp; let f12 = async (): Promise => mp; let f13 = async (): MyPromise => p; let o = { async m1() { }, async m2(): Promise { }, async m3(): MyPromise { } }; class C { async m1() { } async m2(): Promise { } async m3(): MyPromise { } static async m4() { } static async m5(): Promise { } static async m6(): MyPromise { } } module M { export async function f1() { } }