// DefinitelyTyped: partial
// 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: Date, scheduler?: IScheduler): Observable;
delay(dueTime: number, scheduler?: IScheduler): Observable;
debounce(dueTime: number, scheduler?: IScheduler): Observable;
throttleWithTimeout(dueTime: number, scheduler?: IScheduler): Observable;
/**
* @deprecated use #debounce or #throttleWithTimeout instead.
*/
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;
}
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;
}
}