--- /dev/null
+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.
+ *
+ * <span class="informal">Convert an Observable that emits items into one that
+ * emits indications of the amount of time elapsed between those emissions.</span>
+ *
+ * ![](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<T>(scheduler?: SchedulerLike): OperatorFunction<T, TimeInterval<T>>;
+/**
+ * @deprecated exposed API, use as interface only.
+ */
+export declare class TimeInterval<T> {
+ value: T;
+ interval: number;
+ constructor(value: T, interval: number);
+}