// 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;
}
}