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

import { TwoLinesTextPresets } from '~/components/two-lines-text';
import { TranslationKey } from '~/i18n';

import { TextTransform } from '../text/text.props';

export interface ListItemProps {
  // Props
  disabled?: boolean;
  leftComponent?: ReactNode;
  rightComponent?: ReactNode;
  titleTx?: TranslationKey;
  title?: string | ReactNode;
  titleTransform?: TextTransform;
  titleTxOptions?: object;
  subtitle?: string | ReactNode;
  subtitleTransform?: TextTransform;
  subtitleTx?: TranslationKey;
  subtitleTxOptions?: object;
  preset?: TwoLinesTextPresets;
  separator?: boolean;
  separatorColor?: string;
  separatorWidth?: number;
  // Functions
  onPress?: () => void;
  // Styles
  style?: ViewStyle;
  centerStyle?: ViewStyle;
  titleStyle?: TextStyle;
  subtitleStyle?: TextStyle;
}
