import tsd = require('typescript-deferred'); var t1: tsd.PromiseInterface = tsd.when(10) .then(() => tsd.when('foo')); var t2: tsd. PromiseInterface = tsd.when(10) .then(() => 'foo'); var t3: tsd.PromiseInterface = tsd.when(10) .then(() => 'foo', () => tsd.when('bar')); var t4: tsd.PromiseInterface = tsd.when(10) .then(() => 'foo', () => 'bar'); var t5: tsd.PromiseInterface = tsd.when(10) .then(() => tsd.when('foo'), () => 'bar'); var t6: tsd.PromiseInterface = tsd.when(10) .then(() => tsd.when('foo'), () => tsd.when('bar')); var t7: tsd.PromiseInterface = tsd.when(10) .always(() => 'foo'); var t8: tsd.PromiseInterface = tsd.when(10) .always(() => tsd.when('foo')); var t9: tsd.PromiseInterface = tsd.when(10) .otherwise(() => 11); var t10: tsd.PromiseInterface = tsd.when(10) .otherwise(() => tsd.when(11)); var t11: tsd.PromiseInterface = tsd.when('foo'); var t12: tsd.PromiseInterface = tsd.when(tsd.when('foo')); var t13: tsd.PromiseInterface = tsd.create() .promise; var t14: tsd.DeferredInterface = tsd.create(); var t15: tsd.ThenableInterface = tsd.when('foo'); var t16: tsd.PromiseInterface = tsd.when( >tsd.when('foo')); var t17: tsd.PromiseInterface = tsd.when(10) .then(() => >tsd.when('foo'), () => >tsd.when('bar')); var t18: tsd.PromiseInterface = tsd.create() .resolve('foo') .promise; var t19: tsd.PromiseInterface = tsd.create() .resolve(tsd.when('foo')) .promise; var t20: tsd.PromiseInterface = tsd.create() .reject(new Error('foo')) .promise;