export class Deferred { resolve: (value?: T | PromiseLike) => void; reject: (err?: any) => void; // tslint:disable-line promise = new Promise((resolve, reject) => { this.resolve = resolve; this.reject = reject; }); }