///
///
module Rx {
export interface Observable {
/**
* Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers.
* @param {Number | Date} endTime Time to stop taking elements from the source sequence. If this value is less than or equal to new Date(), the result stream will complete immediately.
* @param {Scheduler} [scheduler] Scheduler to run the timer on.
* @returns {Observable} An observable sequence with the elements taken until the specified end time.
*/
takeUntilWithTime(endTime: Date, scheduler?: IScheduler): Observable;
/**
* Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers.
* @param {Number | Date} endTime Time to stop taking elements from the source sequence. If this value is less than or equal to new Date(), the result stream will complete immediately.
* @param {Scheduler} [scheduler] Scheduler to run the timer on.
* @returns {Observable} An observable sequence with the elements taken until the specified end time.
*/
takeUntilWithTime(duration: number, scheduler?: IScheduler): Observable;
}
}
(function() {
var o: Rx.Observable;
var o2: Rx.Observable;
o = o.skipUntilWithTime(new Date());
o = o.skipUntilWithTime(new Date(), Rx.Scheduler.default);
o = o.skipUntilWithTime(1000);
o = o.skipUntilWithTime(1000, Rx.Scheduler.default);
});