import { Observable } from 'rxjs';
export declare type Type<T> = new (...args: T[]) => T;
export declare function instantiateFromJsonOperator<T>(// the generic parameter helps us conserve the type of the observable
classCast: Type<T>): (source$: Observable<T>) => Observable<T>;
export declare function instantiateFromArrayOperator<T>(// the generic parameter helps us conserve the type of the observable
classCast: Type<T>): (source$: Observable<T>) => Observable<T[]>;
export declare function deepCopy<T>(): (source$: Observable<T>) => Observable<T>;
export declare function logger<T>(label?: string, ...args: any[]): (source$: Observable<T>) => Observable<T>;
export declare function addIncrementer(): <T>(source: Observable<T>) => Observable<[number, T]>;
