///
module Rx {
export interface ObservableStatic {
/**
* Runs all observable sequences in parallel and collect their last elements.
*
* @example
* 1 - res = Rx.Observable.forkJoin([obs1, obs2]);
* 1 - res = Rx.Observable.forkJoin(obs1, obs2, ...);
* @returns {Observable} An observable sequence with an array collecting the last elements of all the input sequences.
*/
forkJoin(sources: ObservableOrPromise[]): Observable;
/**
* Runs all observable sequences in parallel and collect their last elements.
*
* @example
* 1 - res = Rx.Observable.forkJoin([obs1, obs2]);
* 1 - res = Rx.Observable.forkJoin(obs1, obs2, ...);
* @returns {Observable} An observable sequence with an array collecting the last elements of all the input sequences.
*/
forkJoin(...args: ObservableOrPromise[]): Observable;
}
}
(function () {
var a : Rx.Observable;
var b : Rx.Promise;
Rx.Observable.forkJoin(a, b);
Rx.Observable.forkJoin([a, b]);
});