import { Constructor, Observable, ObservableWithMotionOperators } from '../types';
export declare type MergeArgs<T> = {
    others: Array<Observable<T>>;
};
export interface MotionMergeable<T> extends Observable<T> {
    merge(kwargs: MergeArgs<T>): ObservableWithMotionOperators<T>;
    merge(others: Array<Observable<T>>): ObservableWithMotionOperators<T>;
}
export declare function withMerge<T, S extends Constructor<Observable<T>>>(superclass: S): S & Constructor<MotionMergeable<T>>;
