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

import { TextTransform } from '~/components/text/text.props';
import { TranslationKey } from '~/i18n';

import { TwoLinesTextPresets } from './two-lines-text.presets';

export type TextProp = string | string[] | ReactNode | ReactNode[];
export type TxProp = TranslationKey | TranslationKey[];

export interface Props {
  // Props
  titleTx?: TxProp;
  title?: string | ReactNode;
  titleTransform?: TextTransform;
  titleTxOptions?: object;
  subtitleTx?: TxProp;
  subtitle?: TextProp;
  subtitleTransform?: TextTransform;
  subtitleTxOptions?: object;
  preset?: TwoLinesTextPresets;
  separator?: boolean;
  separatorColor?: string;
  separatorWidth?: number;
  testID?: string;
  // Styles
  style?: ViewStyle;
  titleStyle?: TextStyle;
  subtitleStyle?: TextStyle;
}
