// This file contains common part of defintions for rx.time.d.ts and rx.lite.d.ts // Do not include the file separately. /// declare module Rx { export interface TimeInterval { value: T; interval: number; } export interface Timestamp { value: T; timestamp: number; } export interface Observable { delay(dueTime: number, scheduler?: IScheduler): Observable; throttle(dueTime: number, scheduler?: IScheduler): Observable; timeInterval(scheduler?: IScheduler): Observable>; timestamp(scheduler?: IScheduler): Observable>; sample(interval: number, scheduler?: IScheduler): Observable; sample(sampler: Observable, scheduler?: IScheduler): Observable; timeout(dueTime: Date, other?: Observable, scheduler?: IScheduler): Observable; timeout(dueTime: number, other?: Observable, scheduler?: IScheduler): Observable; delaySubscription(dueTime: number, scheduler?: IScheduler): Observable; delayWithSelector(delayDurationSelector: (item: T) => number): Observable; delayWithSelector(subscriptionDelay: number, delayDurationSelector: (item: T) => number): Observable; timeoutWithSelector(firstTimeout: Observable, timeoutdurationSelector?: (item: T) => Observable, other?: Observable): Observable; throttleWithSelector(throttleDurationSelector: (item: T) => Observable): Observable; skipLastWithTime(duration: number, scheduler?: IScheduler): Observable; takeLastWithTime(duration: number, timerScheduler?: IScheduler, loopScheduler?: IScheduler): Observable; takeLastBufferWithTime(duration: number, scheduler?: IScheduler): Observable; takeWithTime(duration: number, scheduler?: IScheduler): Observable; skipWithTime(duration: number, scheduler?: IScheduler): Observable; skipUntilWithTime(startTime: Date, scheduler?: IScheduler): Observable; skipUntilWithTime(duration: number, scheduler?: IScheduler): Observable; takeUntilWithTime(endTime: Date, scheduler?: IScheduler): Observable; takeUntilWithTime(duration: number, scheduler?: IScheduler): Observable; } interface ObservableStatic { interval(period: number, scheduler?: IScheduler): Observable; interval(dutTime: number, period: number, scheduler?: IScheduler): Observable; timer(dueTime: number, period: number, scheduler: IScheduler): Observable; timer(dueTime: number, scheduler: IScheduler): Observable; generateWithRelativeTime( initialState: TState, condition: (state: TState) => boolean, iterate: (state: TState) => TState, resultSelector: (state: TState) => TResult, timeSelector: (state: TState) => number, scheduler?: IScheduler): Observable; } }