/// // Type definitions for RxJS "Aggregates" // Project: http://rx.codeplex.com/ // Definitions by: Carl de Billy // Definitions: https://github.com/borisyankov/DefinitelyTyped // // Dependencies: // -> rx.js // -> rx.time.js declare module Rx { interface ITimeInterval { value: any; interval: number; } interface ITimestamp { value: any; interval: number; } interface IObservable { ifThen(condition: () => boolean, thenSource: IObservable): IObservable; ifThen(condition: () => boolean, thenSource: IObservable, elseSource: IObservable): IObservable; ifThen(condition: () => boolean, thenSource: IObservable, scheduler: IScheduler): IObservable; delay(dueTime: number, scheduler?: IScheduler): IObservable; throttle(dueTime: number, scheduler?: IScheduler): IObservable; windowWithTime(timeSpan: number, timeShift: number, scheduler?: IScheduler): IObservable; windowWithTime(timeSpan: number, scheduler?: IScheduler): IObservable; windowWithTimeOrCount(timeSpan: number, count: number, scheduler?: IScheduler): IObservable; bufferWithTime(timeSpan: number, timeShift: number, scheduler?: IScheduler): IObservable; bufferWithTime(timeSpan: number, scheduler?: IScheduler): IObservable; bufferWithTimeOrCount(timeSpan: number, count: number, scheduler?: IScheduler): IObservable; timeInterval(scheduler?: IScheduler): IObservable; timestamp(scheduler?: IScheduler): IObservable; sample(interval: number, scheduler?: IScheduler): IObservable; sample(sampler: IObservable, scheduler?: IScheduler): IObservable; timeout(dueTime: Date, other?: IObservable, scheduler?: IScheduler): IObservable; timeout(dueTime: number, other?: IObservable, scheduler?: IScheduler): IObservable; delaySubscription(dueTime: number, scheduler?: IScheduler): IObservable; delayWithSelector(delayDurationSelector: (T) => number): IObservable; delayWithSelector(subscriptionDelay: number, delayDurationSelector: (T) => number): IObservable; timeoutWithSelector(firstTimeout: IObservable, timeoutdurationSelector?: (T) => IObservable, other?: IObservable): IObservable; throttleWithSelector(throttleDurationSelector: (T) => IObservable): IObservable; skipLastWithTime(duration: number, scheduler?: IScheduler): IObservable; takeLastWithTime(duration: number, timerScheduler?: IScheduler, loopScheduler?: IScheduler): IObservable; takeLastBufferWithTime(duration: number, scheduler?: IScheduler): IObservable; takeWithTime(duration: number, scheduler?: IScheduler): IObservable; skipWithTime(duration: number, scheduler?: IScheduler): IObservable; skipUntilWithTime(startTime: Date, scheduler?: IScheduler): IObservable; takeUntilWithTime(endTime: Date, scheduler?: IScheduler): IObservable; } interface Observable { interval(period: number, scheduler?: IScheduler): IObservable; interval(dutTime: number, period: number, scheduler?: IScheduler): IObservable; timer(dueTime: Date, period: number, scheduler: IScheduler): IObservable; timer(dueTime: Date, scheduler: IScheduler): IObservable; timer(dueTime: number, period: number, scheduler: IScheduler): IObservable; timer(dueTime: number, scheduler: IScheduler): IObservable; generateWithAbsoluteTime( initialState: TState, condition: (TState) => boolean, iterate: (TState) => TState, resultSelector: (TState) => TResult, timeSelector: (TState) => Date, scheduler?: IScheduler): IObservable; generateWithRelativeTime( initialState: TState, condition: (TState) => boolean, iterate: (TState) => TState, resultSelector: (TState) => TResult, timeSelector: (TState) => number, scheduler?: IScheduler): IObservable; } }