// Type definitions for angular-q-extras 1.1 // Project: https://github.com/niqdev/angular-q-extras // Definitions by: Damien Sorel // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 declare var _: string; export = _; import * as angular from 'angular'; declare module 'angular' { type PromiseState = 'fulfilled' | 'rejected'; interface PromiseValue { state: PromiseState; value?: T; reason?: any; } // tslint:disable-next-line interface-name interface IQService { // tslint:disable:max-line-length allSettled(values: [T1 | IPromise, T2 | IPromise, T3 | IPromise, T4 | IPromise, T5 | IPromise, T6 | IPromise, T7 | IPromise, T8 | IPromise, T9 | IPromise, T10 | IPromise]): IPromise<[PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue]>; allSettled(values: [T1 | IPromise, T2 | IPromise, T3 | IPromise, T4 | IPromise, T5 | IPromise, T6 | IPromise, T7 | IPromise, T8 | IPromise, T9 | IPromise]): IPromise<[PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue]>; allSettled(values: [T1 | IPromise, T2 | IPromise, T3 | IPromise, T4 | IPromise, T5 | IPromise, T6 | IPromise, T7 | IPromise, T8 | IPromise]): IPromise<[PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue]>; allSettled(values: [T1 | IPromise, T2 | IPromise, T3 | IPromise, T4 | IPromise, T5 | IPromise, T6 | IPromise, T7 | IPromise]): IPromise<[PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue]>; allSettled(values: [T1 | IPromise, T2 | IPromise, T3 | IPromise, T4 | IPromise, T5 | IPromise, T6 | IPromise]): IPromise<[PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue]>; allSettled(values: [T1 | IPromise, T2 | IPromise, T3 | IPromise, T4 | IPromise, T5 | IPromise]): IPromise<[PromiseValue, PromiseValue, PromiseValue, PromiseValue, PromiseValue]>; allSettled(values: [T1 | IPromise, T2 | IPromise, T3 | IPromise, T4 | IPromise]): IPromise<[PromiseValue, PromiseValue, PromiseValue, PromiseValue]>; allSettled(values: [T1 | IPromise, T2 | IPromise, T3 | IPromise]): IPromise<[PromiseValue, PromiseValue, PromiseValue]>; allSettled(values: [T1 | IPromise, T2 | IPromise]): IPromise<[PromiseValue, PromiseValue]>; // tslint:enable:max-line-length allSettled(promises: Array>): IPromise>>; allSettled(promises: { [K in keyof T]: (T[K] | IPromise); }): IPromise<{ [K in keyof T]: PromiseValue; }>; isFulfilledState(promise: PromiseValue): boolean; isRejectedState(promise: PromiseValue): boolean; } }