// Type definitions for rx-lite-coincidence 4.0
// Project: https://github.com/Reactive-Extensions/RxJS
// Definitions by: Carl de Billy , Igor Oleinikov
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
///
declare namespace Rx {
interface Observable {
join(
right: Observable,
leftDurationSelector: (leftItem: T) => Observable,
rightDurationSelector: (rightItem: TRight) => Observable,
resultSelector: (leftItem: T, rightItem: TRight) => TResult): Observable;
groupJoin(
right: Observable,
leftDurationSelector: (leftItem: T) => Observable,
rightDurationSelector: (rightItem: TRight) => Observable,
resultSelector: (leftItem: T, rightItem: Observable) => TResult): Observable;
window(windowOpenings: Observable): Observable>;
window(windowClosingSelector: () => Observable): Observable>;
window(windowOpenings: Observable, windowClosingSelector: () => Observable): Observable>;
buffer(bufferOpenings: Observable): Observable;
buffer(bufferClosingSelector: () => Observable): Observable;
buffer(bufferOpenings: Observable, bufferClosingSelector: () => Observable): Observable;
/**
* Returns a new observable that triggers on the second and subsequent triggerings of the input observable.
* The Nth triggering of the input observable passes the arguments from the N-1th and Nth triggering as a pair.
* The argument passed to the N-1th triggering is held in hidden internal state until the Nth triggering occurs.
* @returns An observable that triggers on successive pairs of observations from the input observable as an array.
*/
pairwise(): Observable;
/**
* Returns two observables which partition the observations of the source by the given function.
* The first will trigger observations for those values for which the predicate returns true.
* The second will trigger observations for those values where the predicate returns false.
* The predicate is executed once for each subscribed observer.
* Both also propagate all error observations arising from the source and each completes
* when the source completes.
* @param predicate
* The function to determine which output Observable will trigger a particular observation.
* @returns
* An array of observables. The first triggers when the predicate returns true,
* and the second triggers when the predicate returns false.
*/
partition(predicate: (value: T, index: number, source: Observable) => boolean, thisArg?: any): Array>;
}
}
declare module "rx-lite-coincidence" {
export = Rx;
}