// Type definitions for mpromise 0.5.4 // Project: https://github.com/aheckmann/mpromise // Definitions by: Seulgi Kim // Definitions: https://github.com/borisyankov/DefinitelyTyped declare module "mpromise" { interface IFulfillFunction { (...args: F[]): void; (arg: F): void; } interface IRejectFunction { (err: R): void; } interface IResolveFunction { (err: R, ...args: F[]): void; (err: R, arg: F): void; } class Promise { constructor(fn?: IResolveFunction); static FAILURE: string; static SUCCESS: string; fulfill(...args: F[]): Promise; fulfill(arg: F): Promise; reject(reason: R): Promise; resolve(reason: R, ...args: F[]): Promise; resolve(reason: R, arg: F): Promise; onFulfill(callback: IFulfillFunction): Promise; onReject(callback: IRejectFunction): Promise; onResolve(callback: IResolveFunction): Promise; then(onFulfilled: IFulfillFunction, onRejected?: IRejectFunction): Promise; end(): void; chain(promise: Promise): Promise; } export = Promise; }