/**
 * LINE Messaging API
 * This document describes LINE Messaging API.
 *
 * The version of the OpenAPI document: 0.0.1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { Action } from "./action.js";
import { FlexComponent } from "./flexComponent.js";
import { FlexSpan } from "./flexSpan.js";

import { FlexComponentBase } from "./models.js";

export type FlexText = FlexComponentBase & {
  type: "text";
  /**
   */
  flex?: number /**/;
  /**
   */
  text?: string /**/;
  /**
   */
  size?: string /**/;
  /**
   */
  align?: FlexText.AlignEnum /**/;
  /**
   */
  gravity?: FlexText.GravityEnum /**/;
  /**
   */
  color?: string /**/;
  /**
   */
  weight?: FlexText.WeightEnum /**/;
  /**
   */
  style?: FlexText.StyleEnum /**/;
  /**
   */
  decoration?: FlexText.DecorationEnum /**/;
  /**
   */
  wrap?: boolean /**/;
  /**
   */
  lineSpacing?: string /**/;
  /**
   */
  margin?: string /**/;
  /**
   */
  position?: FlexText.PositionEnum /**/;
  /**
   */
  offsetTop?: string /**/;
  /**
   */
  offsetBottom?: string /**/;
  /**
   */
  offsetStart?: string /**/;
  /**
   */
  offsetEnd?: string /**/;
  /**
   */
  action?: Action /**/;
  /**
   */
  maxLines?: number /**/;
  /**
   */
  contents?: Array<FlexSpan> /**/;
  /**
   */
  adjustMode?: FlexText.AdjustModeEnum /**/;
  /**
   */
  scaling?: boolean /**/;
};

export namespace FlexText {
  export type AlignEnum = "start" | "end" | "center";

  export type GravityEnum = "top" | "bottom" | "center";

  export type WeightEnum = "regular" | "bold";

  export type StyleEnum = "normal" | "italic";

  export type DecorationEnum = "none" | "underline" | "line-through";

  export type PositionEnum = "relative" | "absolute";

  export type AdjustModeEnum = "shrink-to-fit";
}
