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

import { TranslationKey } from '~/i18n';
import { Presets } from '~/theme';

export interface FeedbackBarProps {
  /**
   * Title which is looked up via i18n.
   */
  titleTx?: TranslationKey;

  /**
   * The title to display if not using `tx` or nested components.
   */
  title?: string;

  /**
   * Message which is looked up via i18n.
   */
  messageTx?: TranslationKey;

  /**
   * Message to display if not using `tx` or nested components.
   */
  message?: string;

  /**
   * Icon to show in the top
   */
  icon?: ReactNode;

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

  /**
   * An optional style for text display  override.
   */
  titleStyle?: ViewStyle | ViewStyle[];

  /**
   * One of the different types of presets.
   */
  preset: Presets;

  /**
   * An optional style for message text display override.
   */
  messageStyle?: ViewStyle | ViewStyle[];
}
