// Type definitions for RxJS-Coincidence v2.2.25
// Project: http://rx.codeplex.com/
// Definitions by: Carl de Billy
// Definitions by: Igor Oleinikov
// Definitions: https://github.com/borisyankov/DefinitelyTyped
///
///
declare module 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;
}
}