+import { Observable } from '../Observable';
+import { SchedulerAction, SchedulerLike } from '../types';
+import { Subscriber } from '../Subscriber';
+import { Subscription } from '../Subscription';
+/**
+ * Convert an object into an Observable of `[key, value]` pairs.
+ *
+ * <span class="informal">Turn entries of an object into a stream.</span>
+ *
+ * <img src="./img/pairs.png" width="100%">
+ *
+ * `pairs` takes an arbitrary object and returns an Observable that emits arrays. Each
+ * emitted array has exactly two elements - the first is a key from the object
+ * and the second is a value corresponding to that key. Keys are extracted from
+ * an object via `Object.keys` function, which means that they will be only
+ * enumerable keys that are present on an object directly - not ones inherited
+ * via prototype chain.
+ *
+ * By default these arrays are emitted synchronously. To change that you can
+ * pass a {@link SchedulerLike} as a second argument to `pairs`.
+ *
+ * @example <caption>Converts a javascript object to an Observable</caption>
+ * ```ts
+ * import { pairs } from 'rxjs';
+ *
+ * const obj = {
+ * foo: 42,
+ * bar: 56,
+ * baz: 78
+ * };
+ *
+ * pairs(obj)
+ * .subscribe(
+ * value => console.log(value),
+ * err => {},
+ * () => console.log('the end!')
+ * );
+ *
+ * // Logs:
+ * // ["foo", 42],
+ * // ["bar", 56],
+ * // ["baz", 78],
+ * // "the end!"
+ * ```
+ *
+ * @param {Object} obj The object to inspect and turn into an
+ * Observable sequence.
+ * @param {Scheduler} [scheduler] An optional IScheduler to schedule
+ * when resulting Observable will emit values.
+ * @returns {(Observable<Array<string|T>>)} An observable sequence of
+ * [key, value] pairs from the object.
+ */
+export declare function pairs<T>(obj: Object, scheduler?: SchedulerLike): Observable<[string, T]>;
+/** @internal */
+export declare function dispatch<T>(this: SchedulerAction<any>, state: {
+ keys: string[];
+ index: number;
+ subscriber: Subscriber<[string, T]>;
+ subscription: Subscription;
+ obj: Object;
+}): void;