import {StyleProp, TextStyle} from 'react-native';
import {TypographyVariant} from '@components/_core/Typography/interfaces';

export type TextVariant =
  | 'h1'
  | 'h2'
  | 'h3'
  | 'h4'
  | 'h5'
  | 'h6'
  | 'body1'
  | 'body2'
  | 'body3'
  | 'subtitle1'
  | 'subtitle2'
  | 'overline'
  | 'caption'
  | 'error'
  | 'helper'
  | TypographyVariant;

export interface GetTextStyleParams {
  style?: StyleProp<TextStyle>;
  weight: WeightValues;
  fontStyle: TextStyle['fontStyle'];
}

export enum TextWeight {
  light = '300',
  regular = '400',
  medium = '500',
  bold = '700',
}

export type WeightValues =
  | '300'
  | '400'
  | '500'
  | '700'
  | keyof typeof TextWeight;
