///
// Type definitions for RxJS-Binding package
// Project: http://rx.codeplex.com/
// Definitions by: Carl de Billy
// Definitions: https://github.com/borisyankov/DefinitelyTyped
//
// Dependencies:
// -> rx.js
// -> rx.binding.js
declare module Rx {
interface ReplaySubject extends ISubject {
new (bufferSize?: number, window?: number, scheduler?: IScheduler): ReplaySubject;
}
interface BehaviorSubject extends ISubject {
new (initialValue: T): BehaviorSubject;
}
interface ConnectableObservable extends IObservable{
connect(): _IDisposable;
refCount(): IObservable;
}
interface IObservable {
publish(): ConnectableObservable;
publish(selector: (item: T) => IObservable): ConnectableObservable;
publishLast(): ConnectableObservable;
publishLast(selector: (item: T) => IObservable): ConnectableObservable;
publishValue(initialValue: T): ConnectableObservable;
publishValue(selector: (item: T) => TResult, initialValue: TResult): ConnectableObservable;
replay(selector?: (source: IObservable) => ReplaySubject, bufferSize?: number, window?: number, scheduler?: IScheduler): ReplaySubject;
}
interface Observable {
}
}