import { ReactNode } from 'react';
import { ViewStyle } from 'react-native';

export interface Props {
  /**
   * Time the animation is visible.
   */
  visibleTime: number;

  /**
   * Duration of the animation.
   */
  duration: number;

  /**
   * Delay of the animation.
   */
  delay?: number;

  /**
   * Children component to be animated.
   */
  children?: ReactNode;

  /**
   * An optional style override useful for padding & margin.
   */
  style?: ViewStyle | ViewStyle[];

  /**
   * Callback function when the animation ends.
   */
  onAnimationEnd?: () => void;
}
