/**
 * 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";
}
