material-motion
Version:
Makes it easy to add rich, interactive motion to your application.
16 lines (15 loc) • 1.18 kB
TypeScript
import { Constructor, Dimensions, MotionMathOperable, Observable, ObservableWithMotionOperators, Point2D } from '../types';
import { _ReactiveMapOptions } from './foundation/_reactiveMap';
export declare type MultipliedByValue<U> = U | Observable<U>;
export declare type MultipliedByArgs<U> = _ReactiveMapOptions & {
value$: MultipliedByValue<U>;
};
export interface MotionMultipliable<T> {
multipliedBy<U extends T & number>(kwargs: MultipliedByArgs<U>): ObservableWithMotionOperators<number>;
multipliedBy<U extends T & number>(value$: MultipliedByValue<U>): ObservableWithMotionOperators<number>;
multipliedBy<U extends T & Point2D>(kwargs: MultipliedByArgs<U>): ObservableWithMotionOperators<U>;
multipliedBy<U extends T & Point2D>(value$: MultipliedByValue<U>): ObservableWithMotionOperators<U>;
multipliedBy<U extends T & Dimensions>(kwargs: MultipliedByArgs<U>): ObservableWithMotionOperators<U>;
multipliedBy<U extends T & Dimensions>(value$: MultipliedByValue<U>): ObservableWithMotionOperators<U>;
}
export declare function withMultipliedBy<T, S extends Constructor<MotionMathOperable<T>>>(superclass: S): S & Constructor<MotionMultipliable<T>>;