import React from 'react'; import {Animated} from 'react-native'; export interface ScaleAnimationConfig { duration?: number; startScale?: number; endScale?: number; } /** * @interface ScaleProps * @param {React.ReactNode} children * @param {Function} onFadeStart - callback to track when the animation starts * @param {Function} onFadeEnd - callback to track when the animation ends * @param {ScaleAnimationConfig} config - to control "duration" of animation, "start" and "end" scale of child component */ export interface ScaleProps { children: React.ReactNode; onScaleStart?: Function; onScaleEnd?: Animated.EndCallback; config?: ScaleAnimationConfig; ref?: React.RefObject; } /** * @interface ScaleAnimationHandle */ export interface ScaleAnimationHandle { /** * @param {number} scaleTo - the scale value to scale onto * @description triggers scale animation from the endScale of initial config * to the param provided * @returns {void} */ triggerAnimation: (scaleTo: number) => void; } export default function Scale(props: ScaleProps): JSX.Element;