import type { AnimatableValue, WithTimingConfig, AnimationCallback, EasingFunction } from 'react-native-reanimated'; import type { ExtendedViewStyle } from '../types/common'; import type { _ViewProps } from '../mpx-view'; export type TimingFunction = 'linear' | 'ease' | 'ease-in' | 'ease-in-out' | 'ease-out'; export type AnimatedOption = { duration: number; delay?: number; useNativeDriver?: boolean; timingFunction?: TimingFunction; transformOrigin?: string; }; export type ExtendWithTimingConfig = WithTimingConfig & { delay?: number; }; export type AnimationStepItem = { animatedOption: AnimatedOption; rules: Map; transform: Map; }; export type AnimationProp = { id: number; actions: AnimationStepItem[]; }; export type CustomAnimationCallback = (finished?: boolean, current?: AnimatableValue, duration?: number) => void; export type TransitionMap = { [propName: string]: { duration: number; delay?: number; easing: EasingFunction; }; }; export type InterpolateOutput = { [propName: string]: string[]; }; export type AnimationHooksPropsType = _ViewProps & { transitionend?: CustomAnimationCallback; }; export declare const secondRegExp: RegExp; export declare const cubicBezierExp: RegExp; export declare const percentExp: RegExp; export declare const easingKey: { linear: (t: number) => number; ease: EasingFunction; 'ease-in': EasingFunction; 'ease-in-out': EasingFunction; 'ease-out': EasingFunction; }; export declare const transformInitial: ExtendedViewStyle; export declare const animationAPIInitialValue: ExtendedViewStyle; export declare const transitionSupportedProperty: { color: string; borderColor: string; borderBottomColor: string; borderLeftColor: string; borderRightColor: string; borderTopColor: string; borderTopLeftRadius: number; borderTopRightRadius: number; borderBottomLeftRadius: number; borderBottomRightRadius: number; borderRadius: number; borderBottomWidth: number; borderLeftWidth: number; borderRightWidth: number; borderTopWidth: number; borderWidth: number; margin: number; marginBottom: number; marginLeft: number; marginRight: number; marginTop: number; marginHorizontal: number; marginVertical: number; maxHeight: number; maxWidth: number; minHeight: number; minWidth: number; padding: number; paddingBottom: number; paddingLeft: number; paddingRight: number; paddingTop: number; paddingHorizontal: number; paddingVertical: number; fontSize: number; letterSpacing: number; } & import("react-native/types").ViewStyle & { [key: string]: any; backgroundImage?: string | undefined; backgroundSize?: ("auto" | "contain" | "cover" | import("../types/common").NumberVal)[] | undefined; borderRadius?: string | number | undefined; backgroundPosition?: import("../types/common").backgroundPositionList | undefined; transform?: { [key: string]: string | number; }[] | undefined; }; export declare const isTransform: (key: string) => boolean; export declare function getTransformObj(transforms: { [propName: string]: string | number; }[]): { [propName: string]: string | number; }; export declare function getInitialVal(style: ExtendedViewStyle, key: string): any; export declare function formatAnimatedKeys(keys: string[]): (string | string[])[]; export declare function getUnit(duration: string): number; export declare function getAnimation({ key, value }: { key: string; value: string | number; }, { delay, duration, easing }: ExtendWithTimingConfig, callback?: AnimationCallback): string | number;