import { SchedulerLike, OperatorFunction } from '../types'; /** * * Emits an object containing the current value, and the time that has * passed between emitting the current value and the previous value, which is * calculated by using the provided `scheduler`'s `now()` method to retrieve * the current time at each emission, then calculating the difference. The `scheduler` * defaults to {@link asyncScheduler}, so by default, the `interval` will be in * milliseconds. * * Convert an Observable that emits items into one that * emits indications of the amount of time elapsed between those emissions. * * ![](timeinterval.png) * * ## Examples * Emit inteval between current value with the last value * * ```ts * const seconds = interval(1000); * * seconds.pipe(timeInterval()) * .subscribe( * value => console.log(value), * err => console.log(err), * ); * * seconds.pipe(timeout(900)) * .subscribe( * value => console.log(value), * err => console.log(err), * ); * * // NOTE: The values will never be this precise, * // intervals created with `interval` or `setInterval` * // are non-deterministic. * * // {value: 0, interval: 1000} * // {value: 1, interval: 1000} * // {value: 2, interval: 1000} * ``` * * @param {SchedulerLike} [scheduler] Scheduler used to get the current time. * @return {Observable<{ interval: number, value: T }>} Observable that emit infomation about value and interval * @method timeInterval */ export declare function timeInterval(scheduler?: SchedulerLike): OperatorFunction>; /** * @deprecated exposed API, use as interface only. */ export declare class TimeInterval { value: T; interval: number; constructor(value: T, interval: number); }