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

export interface Props {
  /**
   * Animation type
   */
  animation: 'fadeIn' | 'fadeOut';

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

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

  /**
   * Component to animate
   */
  children: ReactNode;

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

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