diff --git a/types/q/v0/index.d.ts b/types/q/v0/index.d.ts
index 94dc7ef712..c37f38333c 100644
--- a/types/q/v0/index.d.ts
+++ b/types/q/v0/index.d.ts
@@ -249,7 +249,10 @@ declare namespace Q {
/**
* Returns a promise that is fulfilled with an array containing the fulfillment value of each promise, or is rejected with the same rejection reason as the first promise to be rejected.
*/
- export function all(promises: IWhenable<[IWhenable, IWhenable]>): Promise<[A, B]>;
+ export function all(promises: IWhenable<[IPromise, IPromise]>): Promise<[A, B]>;
+ export function all(promises: IWhenable<[A, IPromise]>): Promise<[A, B]>;
+ export function all(promises: IWhenable<[IPromise, B]>): Promise<[A, B]>;
+ export function all(promises: IWhenable<[A, B]>): Promise<[A, B]>;
/**
* Returns a promise that is fulfilled with an array containing the fulfillment value of each promise, or is rejected with the same rejection reason as the first promise to be rejected.
*/