export enum DateStyleFormat {
  /**
   * (e.g. Tuesday, December 31, 2019)
   */
  Full = 'full',
  /**
   * (e.g. December 31, 2019)
   */
  Long = 'long',
  /**
   * (e.g. Dec 31, 2019)
   */
  Medium = 'medium',
  /**
   * (e.g. 12/31/19)
   */
  Short = 'short',
}

export enum TimeStyleFormat {
  /**
   * (e.g. 7:00:00 PM Eastern Standard Time)
   */
  Full = 'full',
  /**
   * (e.g. 7:00:00 PM EST)
   */
  Long = 'long',
  /**
   * (e.g. 7:00:00 PM)
   */
  Medium = 'medium',
  /**
   * (e.g. 7:00 PM)
   */
  Short = 'short',
}

export enum WeekdayFormat {
  /**
   * (e.g., Thursday)
   */
  Long = 'long',
  /**
   * (e.g., Thu)
   */
  Short = 'short',
  /**
   * (e.g., T). Two weekdays may have the same narrow style for some locales (e.g. Tuesday's narrow style is also T).
   */
  Narrow = 'narrow',
}

export enum YearFormat {
  /**
   * (e.g., 2012)
   */
  Numeric = 'numeric',
  /**
   * (e.g., 12)
   */
  TwoDigit = '2-digit',
}

export enum MonthFormat {
  /**
   * (e.g., 3)
   */
  Numeric = 'numeric',
  /**
   * (e.g., 03)
   */
  TwoDigit = '2-digit',
  /**
   * (e.g., March)
   */
  Long = 'long',
  /**
   * (e.g., Mar)
   */
  Short = 'short',
  /**
   * (e.g., M). Two months may have the same narrow style for some locales (e.g. May's narrow style is also M).
   */
  Narrow = 'narrow',
}

export enum DayFormat {
  /**
   * (e.g., 1)
   */
  Numeric = 'numeric',
  /**
   * (e.g., 01)
   */
  TwoDigit = '2-digit',
}

export enum HourFormat {
  /**
   * (e.g., 1)
   */
  Numeric = 'numeric',
  /**
   * (e.g., 01)
   */
  TwoDigit = '2-digit',
}

export enum MinuteFormat {
  /**
   * (e.g., 1)
   */
  Numeric = 'numeric',
  /**
   * (e.g., 01)
   */
  TwoDigit = '2-digit',
}

export enum SecondFormat {
  /**
   * (e.g., 1)
   */
  Numeric = 'numeric',
  /**
   * (e.g., 01)
   */
  TwoDigit = '2-digit',
}
