/*
 * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* If a new value is added, add it from the end. */
let Color;
(function (Color) {
  Color.White = '#ffffffff';
  Color.Black = '#ff000000';
  Color.Blue = '#ff0000ff';
  Color.Brown = '#ffa52a2a';
  Color.Gray = '#ff808080';
  Color.Green = '#ff008000';
  Color.Grey = '#ff808080';
  Color.Orange = '#ffffa500';
  Color.Pink = '#ffffc0cb';
  Color.Red = '#ffff0000';
  Color.Yellow = '#ffffff00';
  Color.Transparent = '#00000000';
})(Color || (Color = {}));

let ColoringStrategy;
(function (ColoringStrategy) {
  ColoringStrategy.INVERT = 'invert';
  ColoringStrategy.AVERAGE = 'average';
  ColoringStrategy.PRIMARY = 'primary';
  ColoringStrategy.CONTRAST = 'contrast';
})(ColoringStrategy || (ColoringStrategy = {}));

var CompetitionStrategy;
(function (CompetitionStrategy) {
    CompetitionStrategy[CompetitionStrategy["DEFAULT"] = 0] = "DEFAULT";
    CompetitionStrategy[CompetitionStrategy["COMPETITION"] = 1] = "COMPETITION";
})(CompetitionStrategy || (CompetitionStrategy = {}));

let TextInputStyle;
(function (TextInputStyle) {
  TextInputStyle.Default = 'Default';
  TextInputStyle.Inline = 'Inline';
})(TextInputStyle || (TextInputStyle = {}));

let TextContentStyle;
(function (TextContentStyle) {
  TextContentStyle.DEFAULT = 'Default';
  TextContentStyle.INLINE = 'Inline';
})(TextContentStyle || (TextContentStyle = {}));

let TextAlign;
(function (TextAlign) {
  TextAlign[TextAlign.Start = 0] = 'Start';
  TextAlign[TextAlign.Center = 1] = 'Center';
  TextAlign[TextAlign.End = 2] = 'End';
  TextAlign[TextAlign.Justify = 3] = 'Justify';
  TextAlign[TextAlign.JUSTIFY = 3] = 'JUSTIFY';
  TextAlign[TextAlign.LEFT = 4] = 'LEFT';
  TextAlign[TextAlign.RIGHT = 5] = 'RIGHT';
})(TextAlign || (TextAlign = {}));

let TextVerticalAlign;
(function (TextVerticalAlign) {
  TextVerticalAlign[TextVerticalAlign.BASELINE = 0] = 'BASELINE';
  TextVerticalAlign[TextVerticalAlign.BOTTOM = 1] = 'BOTTOM';
  TextVerticalAlign[TextVerticalAlign.CENTER = 2] = 'CENTER';
  TextVerticalAlign[TextVerticalAlign.TOP = 3] = 'TOP';
})(TextVerticalAlign || (TextVerticalAlign = {}));

let TextContentAlign;
(function (TextContentAlign) {
  TextContentAlign[TextContentAlign.TOP = 0] = 'TOP';
  TextContentAlign[TextContentAlign.CENTER = 1] = 'CENTER';
  TextContentAlign[TextContentAlign.BOTTOM = 2] = 'BOTTOM';
})(TextContentAlign || (TextContentAlign = {}));

let TextDataDetectorType;
(function (TextDataDetectorType) {
  TextDataDetectorType[TextDataDetectorType.PHONE_NUMBER = 0] = 'PHONE_NUMBER';
  TextDataDetectorType[TextDataDetectorType.URL = 1] = 'URL';
  TextDataDetectorType[TextDataDetectorType.EMAIL = 2] = 'EMAIL';
  TextDataDetectorType[TextDataDetectorType.ADDRESS = 3] = 'ADDRESS';
  TextDataDetectorType[TextDataDetectorType.DATE_TIME = 4] = 'DATE_TIME';
})(TextDataDetectorType || (TextDataDetectorType = {}));

let DataPanelType;
(function (DataPanelType) {
  DataPanelType[DataPanelType.Line = 0] = 'Line';
  DataPanelType[DataPanelType.Circle = 4] = 'Circle';
})(DataPanelType || (DataPanelType = {}));

let FontWeight;
(function (FontWeight) {
  FontWeight.Light = 'light';
  FontWeight.Lighter = 'lighter';
  FontWeight.Normal = 'normal';
  FontWeight.Regular = 'regular';
  FontWeight.Medium = 'medium';
  FontWeight.Bold = 'bold';
  FontWeight.Bolder = 'bolder';
})(FontWeight || (FontWeight = {}));

let MaxLinesMode;
(function (MaxLinesMode) {
    MaxLinesMode[MaxLinesMode.CLIP = 0] = 'clip';
    MaxLinesMode[MaxLinesMode.SCROLL = 1] = 'scroll';
})(MaxLinesMode || (MaxLinesMode = {}));

let WordBreak;
(function (WordBreak) {
  WordBreak[WordBreak.NORMAL = 0] = 'normal';
  WordBreak[WordBreak.BREAK_ALL = 1] = 'break-all';
  WordBreak[WordBreak.BREAK_WORD = 2] = 'break-word';
  WordBreak[WordBreak.HYPHENATION = 3] = 'hyphenation';
})(WordBreak || (WordBreak = {}));

let DpiFollowStrategy;
(function (DpiFollowStrategy) {
  DpiFollowStrategy[DpiFollowStrategy.FOLLOW_HOST_DPI = 0] = 'follow-host-dpi';
  DpiFollowStrategy[DpiFollowStrategy.FOLLOW_UI_EXTENSION_ABILITY_DPI = 1] = 'follow-ui-extension-ability-dpi';
})(DpiFollowStrategy || (DpiFollowStrategy = {}));

let EmbeddedDpiFollowStrategy;
(function (EmbeddedDpiFollowStrategy) {
  EmbeddedDpiFollowStrategy[EmbeddedDpiFollowStrategy.FOLLOW_HOST_DPI = 0] = 'follow-host-dpi';
  EmbeddedDpiFollowStrategy[EmbeddedDpiFollowStrategy.FOLLOW_UI_EXTENSION_ABILITY_DPI = 1] = 'follow-ui-extension-ability-dpi';
})(EmbeddedDpiFollowStrategy || (EmbeddedDpiFollowStrategy = {}));

let SecurityDpiFollowStrategy;
(function (SecurityDpiFollowStrategy) {
  SecurityDpiFollowStrategy[SecurityDpiFollowStrategy.FOLLOW_HOST_DPI = 0] = 'follow-host-dpi';
  SecurityDpiFollowStrategy[SecurityDpiFollowStrategy.FOLLOW_UI_EXTENSION_ABILITY_DPI = 1] = 'follow-ui-extension-ability-dpi';
})(SecurityDpiFollowStrategy || (SecurityDpiFollowStrategy = {}));

let PreviewDpiFollowStrategy;
(function (PreviewDpiFollowStrategy) {
  PreviewDpiFollowStrategy[PreviewDpiFollowStrategy.FOLLOW_HOST_DPI = 0] = 'follow-host-dpi';
  PreviewDpiFollowStrategy[PreviewDpiFollowStrategy.FOLLOW_UI_EXTENSION_ABILITY_DPI = 1] = 'follow-ui-extension-ability-dpi';
})(PreviewDpiFollowStrategy || (PreviewDpiFollowStrategy = {}));

let WindowModeFollowStrategy;
(function (WindowModeFollowStrategy) {
  WindowModeFollowStrategy[WindowModeFollowStrategy.FOLLOW_HOST_WINDOW_MODE = 0] = 'follow-host-window-mode';
  WindowModeFollowStrategy[WindowModeFollowStrategy.FOLLOW_UI_EXTENSION_ABILITY_WINDOW_MODE = 1] = 'follow-ui-extension-ability-window-mode';
})(WindowModeFollowStrategy || (WindowModeFollowStrategy = {}));

let EmbeddedWindowModeFollowStrategy;
(function (EmbeddedWindowModeFollowStrategy) {
  EmbeddedWindowModeFollowStrategy[EmbeddedWindowModeFollowStrategy.FOLLOW_HOST_WINDOW_MODE = 0] = 'follow-host-window-mode';
  EmbeddedWindowModeFollowStrategy[EmbeddedWindowModeFollowStrategy.FOLLOW_UI_EXTENSION_ABILITY_WINDOW_MODE = 1] = 'follow-ui-extension-ability-window-mode';
})(EmbeddedWindowModeFollowStrategy || (EmbeddedWindowModeFollowStrategy = {}));

let EllipsisMode;
(function (EllipsisMode) {
  EllipsisMode[EllipsisMode.START = 0] = 'start';
  EllipsisMode[EllipsisMode.CENTER = 1] = 'center';
  EllipsisMode[EllipsisMode.END = 2] = 'end';
  EllipsisMode[EllipsisMode.MULTILINE_START = 3] = 'multiline-start';
  EllipsisMode[EllipsisMode.MULTILINE_CENTER = 4] = 'multiline-center';
})(EllipsisMode || (EllipsisMode = {}));

let LineBreakStrategy;
(function (LineBreakStrategy) {
  LineBreakStrategy[LineBreakStrategy.GREEDY = 0] = 'greedy';
  LineBreakStrategy[LineBreakStrategy.HIGH_QUALITY = 1] = 'highquality';
  LineBreakStrategy[LineBreakStrategy.BALANCED = 2] = 'balanced';
})(LineBreakStrategy || (LineBreakStrategy = {}));

let TextSelectableMode;
(function (TextSelectableMode) {
  TextSelectableMode[TextSelectableMode.SELECTABLE_UNFOCUSABLE = 0] = 'selectable-unfocusable';
  TextSelectableMode[TextSelectableMode.SELECTABLE_FOCUSABLE = 1] = 'selectable-focusable';
  TextSelectableMode[TextSelectableMode.UNSELECTABLE = 2] = 'unselectable';
})(TextSelectableMode || (TextSelectableMode = {}));

let Curve;
(function (Curve) {
  Curve.Linear = 'linear';
  Curve.Ease = 'ease';
  Curve.EaseIn = 'ease-in';
  Curve.EaseOut = 'ease-out';
  Curve.EaseInOut = 'ease-in-out';
  Curve.FastOutSlowIn = 'fast-out-slow-in';
  Curve.LinearOutSlowIn = 'linear-out-slow-in';
  Curve.FastOutLinearIn = 'fast-out-linear-in';
  Curve.ExtremeDeceleration = 'extreme-deceleration';
  Curve.Sharp = 'sharp';
  Curve.Rhythm = 'rhythm';
  Curve.Smooth = 'smooth';
  Curve.Friction = 'friction';
})(Curve || (Curve = {}));

let FillMode;
(function (FillMode) {
  FillMode[FillMode.None = 0] = 'none';
  FillMode[FillMode.Forwards = 1] = 'forwards';
  FillMode[FillMode.Backwards = 2] = 'backwards';
  FillMode[FillMode.Both = 3] = 'both';
})(FillMode || (FillMode = {}));

let PlayMode;
(function (PlayMode) {
  PlayMode.Normal = 'normal';
  PlayMode.Alternate = 'alternate';
  PlayMode.Reverse = 'reverse';
  PlayMode.AlternateReverse = 'alternate-reverse';
})(PlayMode || (PlayMode = {}));

let RepeatMode;
(function (RepeatMode) {
  RepeatMode.Repeat = 'Repeat';
  RepeatMode.Stretch = 'Stretch';
  RepeatMode.Round = 'Round';
  RepeatMode.Space = 'Space';
})(RepeatMode || (RepeatMode = {}));

let BorderStyle;
(function (BorderStyle) {
  BorderStyle[BorderStyle.Solid = 0] = 'Solid';
  BorderStyle[BorderStyle.Dashed = 1] = 'Dashed';
  BorderStyle[BorderStyle.Dotted = 2] = 'Dotted';
})(BorderStyle || (BorderStyle = {}));

let RenderStrategy;
(function (RenderStrategy) {
  RenderStrategy[RenderStrategy.FAST = 0] = 'FAST';
  RenderStrategy[RenderStrategy.OFFSCREEN = 1] = 'OFFSCREEN';
})(RenderStrategy || (RenderStrategy = {}));

let LineCapStyle;
(function (LineCapStyle) {
  LineCapStyle[LineCapStyle.Butt = 0] = 'Butt';
  LineCapStyle[LineCapStyle.Round = 1] = 'Round';
  LineCapStyle[LineCapStyle.Square = 2] = 'Square';
})(LineCapStyle || (LineCapStyle = {}));

let ButtonType;
(function (ButtonType) {
  ButtonType[ButtonType.Normal = 0] = 'Normal';
  ButtonType[ButtonType.Capsule = 1] = 'Capsule';
  ButtonType[ButtonType.Circle = 2] = 'Circle';
  ButtonType[ButtonType.Arc = 4] = 'Arc';
  ButtonType[ButtonType.ROUNDED_RECTANGLE = 8] = 'ROUNDED_RECTANGLE';
})(ButtonType || (ButtonType = {}));

let DevicePosition;
(function (DevicePosition) {
  DevicePosition[DevicePosition.Front = 0] = 'Front';
  DevicePosition[DevicePosition.Back = 1] = 'Back';
})(DevicePosition || (DevicePosition = {}));

let ImageFit;
(function (ImageFit) {
  ImageFit[ImageFit.Fill = 0] = 'Fill';
  ImageFit[ImageFit.Contain = 1] = 'Contain';
  ImageFit[ImageFit.Cover = 2] = 'Cover';
  ImageFit[ImageFit.Auto = 3] = 'Auto';
  ImageFit[ImageFit.None = 5] = 'None';
  ImageFit[ImageFit.ScaleDown = 6] = 'ScaleDown';
  ImageFit[ImageFit.TOP_START = 7] = 'TOP_START';
  ImageFit[ImageFit.TOP = 8] = 'TOP';
  ImageFit[ImageFit.TOP_END = 9] = 'TOP_END';
  ImageFit[ImageFit.START = 10] = 'START';
  ImageFit[ImageFit.CENTER = 11] = 'CENTER';
  ImageFit[ImageFit.END = 12] = 'END';
  ImageFit[ImageFit.BOTTOM_START = 13] = 'BOTTOM_START';
  ImageFit[ImageFit.BOTTOM = 14] = 'BOTTOM';
  ImageFit[ImageFit.BOTTOM_END = 15] = 'BOTTOM_END';
  ImageFit[ImageFit.MATRIX = 16] = "MATRIX";
})(ImageFit || (ImageFit = {}));

let DynamicRangeMode ;
(function (DynamicRangeMode ) {
  DynamicRangeMode [DynamicRangeMode .HIGH = 0] = 'HIGH';
  DynamicRangeMode [DynamicRangeMode .CONSTRAINT = 1] = 'CONSTRAINT';
  DynamicRangeMode [DynamicRangeMode .STANDARD = 2] = 'STANDARD';
})(DynamicRangeMode  || (DynamicRangeMode  = {}));

let ImageContent;
(function (ImageContent) {
  ImageContent[ImageContent.EMPTY = 0] = 'EMPTY';
})(ImageContent || (ImageContent = {}));

let ImageRepeat;
(function (ImageRepeat) {
  ImageRepeat[ImageRepeat.NoRepeat = 0] = 'NoRepeat';
  ImageRepeat[ImageRepeat.X = 1] = 'X';
  ImageRepeat[ImageRepeat.Y = 2] = 'Y';
  ImageRepeat[ImageRepeat.XY = 3] = 'XY';
})(ImageRepeat || (ImageRepeat = {}));

let ImageSize;
(function (ImageSize) {
  ImageSize[ImageSize.Contain = 0] = 'Contain';
  ImageSize[ImageSize.Cover = 1] = 'Cover';
  ImageSize[ImageSize.Auto = 2] = 'Auto';
  ImageSize[ImageSize.FILL = 3] = 'FILL';
})(ImageSize || (ImageSize = {}));

let ImageRenderMode;
(function (ImageRenderMode) {
  ImageRenderMode[ImageRenderMode.Original = 0] = 'Original';
  ImageRenderMode[ImageRenderMode.Template = 1] = 'Template';
})(ImageRenderMode || (ImageRenderMode = {}));

let ImageRotateOrientation;
(function (ImageRotateOrientation) {
  ImageRotateOrientation[ImageRotateOrientation.AUTO = 0] = 'AUTO';
  ImageRotateOrientation[ImageRotateOrientation.UP = 1] = 'UP';
  ImageRotateOrientation[ImageRotateOrientation.RIGHT = 2] = 'RIGHT';
  ImageRotateOrientation[ImageRotateOrientation.DOWN = 3] = 'DOWN';
  ImageRotateOrientation[ImageRotateOrientation.LEFT = 4] = 'LEFT';
  ImageRotateOrientation[ImageRotateOrientation.UP_MIRRORED = 5] = 'UP_MIRRORED';
  ImageRotateOrientation[ImageRotateOrientation.RIGHT_MIRRORED = 6] = 'RIGHT_MIRRORED';
  ImageRotateOrientation[ImageRotateOrientation.DOWN_MIRRORED = 7] = 'DOWN_MIRRORED';
  ImageRotateOrientation[ImageRotateOrientation.LEFT_MIRRORED = 8] = 'LEFT_MIRRORED';
})(ImageRotateOrientation || (ImageRotateOrientation = {}));

let ImageInterpolation;
(function (ImageInterpolation) {
  ImageInterpolation[ImageInterpolation.None = 0] = 'None';
  ImageInterpolation[ImageInterpolation.Low = 1] = 'Low';
  ImageInterpolation[ImageInterpolation.Medium = 2] = 'Medium';
  ImageInterpolation[ImageInterpolation.High = 3] = 'High';
})(ImageInterpolation || (ImageInterpolation = {}));

let FontStyle;
(function (FontStyle) {
  FontStyle[FontStyle.Normal = 0] = 'Normal';
  FontStyle[FontStyle.Italic = 1] = 'Italic';
})(FontStyle || (FontStyle = {}));

let FlexAlign;
(function (FlexAlign) {
  FlexAlign[FlexAlign.Start = 1] = 'Start';
  FlexAlign[FlexAlign.Center = 2] = 'Center';
  FlexAlign[FlexAlign.End = 3] = 'End';
  FlexAlign[FlexAlign.Stretch = 4] = 'Stretch';
  FlexAlign[FlexAlign.Baseline = 5] = 'Baseline';
  FlexAlign[FlexAlign.SpaceBetween = 6] = 'SpaceBetween';
  FlexAlign[FlexAlign.SpaceAround = 7] = 'SpaceAround';
  FlexAlign[FlexAlign.SpaceEvenly = 8] = 'SpaceEvenly';
})(FlexAlign || (FlexAlign = {}));

let PixelRoundCalcPolicy;
(function (PixelRoundCalcPolicy) {
  PixelRoundCalcPolicy[PixelRoundCalcPolicy.NO_FORCE_ROUND = 0] = 'NO_FORCE_ROUND';
  PixelRoundCalcPolicy[PixelRoundCalcPolicy.FORCE_CEIL = 1] = 'FORCE_CEIL';
  PixelRoundCalcPolicy[PixelRoundCalcPolicy.FORCE_FLOOR = 2] = 'FORCE_FLOOR';
})(PixelRoundCalcPolicy || (PixelRoundCalcPolicy = {}));

let PixelRoundMode;
(function (PixelRoundMode) {
  PixelRoundMode[PixelRoundMode.PIXEL_ROUND_ON_LAYOUT_FINISH = 0] = 'PIXEL_ROUND_ON_LAYOUT_FINISH';
  PixelRoundMode[PixelRoundMode.PIXEL_ROUND_AFTER_MEASURE = 1] = 'PIXEL_ROUND_AFTER_MEASURE';
})(PixelRoundMode || (PixelRoundMode = {}));

let VerticalAlign;
(function (VerticalAlign) {
  VerticalAlign[VerticalAlign.Top = 1] = 'Top';
  VerticalAlign[VerticalAlign.Center = 2] = 'Center';
  VerticalAlign[VerticalAlign.Bottom = 3] = 'Bottom';
})(VerticalAlign || (VerticalAlign = {}));

let HorizontalAlign;
(function (HorizontalAlign) {
  HorizontalAlign[HorizontalAlign.Start = 1] = 'Start';
  HorizontalAlign[HorizontalAlign.Center = 2] = 'Center';
  HorizontalAlign[HorizontalAlign.End = 3] = 'End';
})(HorizontalAlign || (HorizontalAlign = {}));

let ItemAlign;
(function (ItemAlign) {
  ItemAlign[ItemAlign.Auto = 0] = 'Auto';
  ItemAlign[ItemAlign.Start = 1] = 'Start';
  ItemAlign[ItemAlign.Center = 2] = 'Center';
  ItemAlign[ItemAlign.End = 3] = 'End';
  ItemAlign[ItemAlign.Stretch = 4] = 'Stretch';
  ItemAlign[ItemAlign.Baseline = 5] = 'Baseline';
})(ItemAlign || (ItemAlign = {}));

let Align;
(function (Align) {
  Align[Align.Start = 4] = 'Start';
  Align[Align.Center = 2] = 'Center';
  Align[Align.End = 5] = 'End';
})(Align || (Align = {}));

let Alignment;
(function (Alignment) {
  Alignment[Alignment.TopStart = 0] = 'TopStart';
  Alignment[Alignment.Top = 1] = 'Top';
  Alignment[Alignment.TopEnd = 2] = 'TopEnd';
  Alignment[Alignment.Start = 3] = 'Start';
  Alignment[Alignment.Center = 4] = 'Center';
  Alignment[Alignment.End = 5] = 'End';
  Alignment[Alignment.BottomStart = 6] = 'BottomStart';
  Alignment[Alignment.Bottom = 7] = 'Bottom';
  Alignment[Alignment.BottomEnd = 8] = 'BottomEnd';
})(Alignment || (Alignment = {}));

let LocalizedAlignment;
(function (LocalizedAlignment) {
  LocalizedAlignment.TOP_START = 'top_start';
  LocalizedAlignment.TOP = 'top';
  LocalizedAlignment.TOP_END = 'top_end';
  LocalizedAlignment.START = 'start';
  LocalizedAlignment.CENTER = 'center';
  LocalizedAlignment.END = 'end';
  LocalizedAlignment.BOTTOM_START = 'bottom_start';
  LocalizedAlignment.BOTTOM = 'bottom';
  LocalizedAlignment.BOTTOM_END = 'bottom_end';
})(LocalizedAlignment || (LocalizedAlignment = {}));

let ChainStyle;
(function (ChainStyle) {
  ChainStyle[ChainStyle.SPREAD = 0] = 'SPREAD';
  ChainStyle[ChainStyle.SPREAD_INSIDE = 1] = 'SPREAD_INSIDE';
  ChainStyle[ChainStyle.PACKED = 2] = 'PACKED';
})(ChainStyle || (ChainStyle = {}));

let BarrierDirection;
(function (BarrierDirection) {
  BarrierDirection[BarrierDirection.LEFT = 0] = 'LEFT';
  BarrierDirection[BarrierDirection.RIGHT = 1] = 'RIGHT';
  BarrierDirection[BarrierDirection.TOP = 2] = 'TOP';
  BarrierDirection[BarrierDirection.BOTTOM = 3] = 'BOTTOM';
})(BarrierDirection || (BarrierDirection = {}));

let LocalizedBarrierDirection;
(function (LocalizedBarrierDirection) {
  LocalizedBarrierDirection[LocalizedBarrierDirection.START = 0] = 'START';
  LocalizedBarrierDirection[LocalizedBarrierDirection.END = 1] = 'END';
  LocalizedBarrierDirection[LocalizedBarrierDirection.TOP = 2] = 'TOP';
  LocalizedBarrierDirection[LocalizedBarrierDirection.BOTTOM = 3] = 'BOTTOM';
})(LocalizedBarrierDirection || (LocalizedBarrierDirection = {}));

let BlendMode;
(function (BlendMode) {
  BlendMode[BlendMode.NORMAL = 0] = 'NORMAL';
  BlendMode[BlendMode.DESTINATION_IN = 7] = 'DESTINATION_IN';
  BlendMode[BlendMode.SOURCE_IN = 5000] = 'SOURCE_IN';
  BlendMode[BlendMode.NONE = 0] = 'NONE';
  BlendMode[BlendMode.CLEAR = 1] = 'CLEAR';
  BlendMode[BlendMode.SRC = 2] = 'SRC';
  BlendMode[BlendMode.DST = 3] = 'DST';
  BlendMode[BlendMode.SRC_OVER = 4] = 'SRC_OVER';
  BlendMode[BlendMode.DST_OVER = 5] = 'DST_OVER';
  BlendMode[BlendMode.SRC_IN = 6] = 'SRC_IN';
  BlendMode[BlendMode.DST_IN = 7] = 'DST_IN';
  BlendMode[BlendMode.SRC_OUT = 8] = 'SRC_OUT';
  BlendMode[BlendMode.DST_OUT = 9] = 'DST_OUT';
  BlendMode[BlendMode.SRC_ATOP = 10] = 'SRC_ATOP';
  BlendMode[BlendMode.DST_ATOP = 11] = 'DST_ATOP';
  BlendMode[BlendMode.XOR = 12] = 'XOR';
  BlendMode[BlendMode.PLUS = 13] = 'PLUS';
  BlendMode[BlendMode.MODULATE = 14] = 'MODULATE';
  BlendMode[BlendMode.SCREEN = 15] = 'SCREEN';
  BlendMode[BlendMode.OVERLAY = 16] = 'OVERLAY';
  BlendMode[BlendMode.DARKEN = 17] = 'DARKEN';
  BlendMode[BlendMode.LIGHTEN = 18] = 'LIGHTEN';
  BlendMode[BlendMode.COLOR_DODGE = 19] = 'COLOR_DODGE';
  BlendMode[BlendMode.COLOR_BURN = 20] = 'COLOR_BURN';
  BlendMode[BlendMode.HARD_LIGHT = 21] = 'HARD_LIGHT';
  BlendMode[BlendMode.SOFT_LIGHT = 22] = 'SOFT_LIGHT';
  BlendMode[BlendMode.DIFFERENCE = 23] = 'DIFFERENCE';
  BlendMode[BlendMode.EXCLUSION = 24] = 'EXCLUSION';
  BlendMode[BlendMode.MULTIPLY = 25] = 'MULTIPLY';
  BlendMode[BlendMode.HUE = 26] = 'HUE';
  BlendMode[BlendMode.SATURATION = 27] = 'SATURATION';
  BlendMode[BlendMode.COLOR = 28] = 'COLOR';
  BlendMode[BlendMode.LUMINOSITY = 29] = 'LUMINOSITY';
})(BlendMode || (BlendMode = {}));

let BlendApplyType;
(function (BlendApplyType) {
  BlendApplyType[BlendApplyType.FAST = 0] = 'FAST';
  BlendApplyType[BlendApplyType.OFFSCREEN = 1] = 'OFFSCREEN';
  BlendApplyType[BlendApplyType.OFFSCREEN_WITH_BACKGROUND = 2] = 'OFFSCREEN_WITH_BACKGROUND';
})(BlendApplyType || (BlendApplyType = {}));

let TextOverflow;
(function (TextOverflow) {
  TextOverflow[TextOverflow.None = 0] = 'None';
  TextOverflow[TextOverflow.Clip = 1] = 'Clip';
  TextOverflow[TextOverflow.Ellipsis = 2] = 'Ellipsis';
  TextOverflow[TextOverflow.Marquee = 3] = 'Marquee';
  TextOverflow[TextOverflow.MARQUEE = 3] = 'MARQUEE';
})(TextOverflow || (TextOverflow = {}));

let TextDecorationStyle;
(function (TextDecorationStyle) {
  TextDecorationStyle[TextDecorationStyle.SOLID = 0] = 'SOLID';
  TextDecorationStyle[TextDecorationStyle.DOUBLE = 1] = 'DOUBLE';
  TextDecorationStyle[TextDecorationStyle.DOTTED = 2] = 'DOTTED';
  TextDecorationStyle[TextDecorationStyle.DASHED = 3] = 'DASHED';
  TextDecorationStyle[TextDecorationStyle.WAVY = 4] = 'WAVY';
})(TextDecorationStyle || (TextDecorationStyle = {}));

let TextDecorationType;
(function (TextDecorationType) {
  TextDecorationType[TextDecorationType.None = 0] = 'None';
  TextDecorationType[TextDecorationType.Underline = 1] = 'Underline';
  TextDecorationType[TextDecorationType.Overline = 2] = 'Overline';
  TextDecorationType[TextDecorationType.LineThrough = 3] = 'LineThrough';
})(TextDecorationType || (TextDecorationType = {}));

let ClickEffectLevel;
(function (ClickEffectLevel) {
  ClickEffectLevel[ClickEffectLevel.LIGHT = 0] = 'LIGHT';
  ClickEffectLevel[ClickEffectLevel.MIDDLE = 1] = 'MIDDLE';
  ClickEffectLevel[ClickEffectLevel.HEAVY = 2] = 'HEAVY';
})(ClickEffectLevel || (ClickEffectLevel = {}));

let TextCase;
(function (TextCase) {
  TextCase[TextCase.Normal = 0] = 'Normal';
  TextCase[TextCase.LowerCase = 1] = 'LowerCase';
  TextCase[TextCase.UpperCase = 2] = 'UpperCase';
})(TextCase || (TextCase = {}));

let NavigationType;
(function (NavigationType) {
  NavigationType[NavigationType.Push = 1] = 'Push';
  NavigationType[NavigationType.Replace = 2] = 'Replace';
  NavigationType[NavigationType.Back = 3] = 'Back';
})(NavigationType || (NavigationType = {}));

let PanelType;
(function (PanelType) {
  PanelType[PanelType.Minibar = 0] = 'Minibar';
  PanelType[PanelType.Foldable = 1] = 'Foldable';
  PanelType[PanelType.Temporary = 2] = 'Temporary';
  PanelType[PanelType.CUSTOM = 3] = 'CUSTOM';
})(PanelType || (PanelType = {}));

let PanelHeight;
(function (PanelHeight) {
  PanelHeight[PanelHeight.WRAP_CONTENT = 'wrapContent'] = 'WRAP_CONTENT';
})(PanelHeight || (PanelHeight = {}));

let PanelMode;
(function (PanelMode) {
  PanelMode[PanelMode.Mini = 0] = 'Mini';
  PanelMode[PanelMode.Half = 1] = 'Half';
  PanelMode[PanelMode.Full = 2] = 'Full';
})(PanelMode || (PanelMode = {}));

let Axis;
(function (Axis) {
  Axis[Axis.Vertical = 0] = 'Vertical';
  Axis[Axis.Horizontal = 1] = 'Horizontal';
})(Axis || (Axis = {}));

let BarState;
(function (BarState) {
  BarState[BarState.Off = 0] = 'Off';
  BarState[BarState.Auto = 1] = 'Auto';
  BarState[BarState.On = 2] = 'On';
})(BarState || (BarState = {}));

var EdgeEffect;
(function (EdgeEffect) {
  EdgeEffect[EdgeEffect.Spring = 0] = 'Spring';
  EdgeEffect[EdgeEffect.Fade = 1] = 'Fade';
  EdgeEffect[EdgeEffect.None = 2] = 'None';
})(EdgeEffect || (EdgeEffect = {}));

let EffectEdge;
(function (EffectEdge) {
  EffectEdge[EffectEdge.START = 1] = 'START';
  EffectEdge[EffectEdge.END = 2] = 'END';
  EffectEdge[EffectEdge.ALL = 3] = 'ALL';
})(EffectEdge || (EffectEdge = {}));

let FocusWrapMode;
(function (FocusWrapMode) {
  FocusWrapMode[FocusWrapMode.DEFAULT = 0] = 'DEFAULT';
  FocusWrapMode[FocusWrapMode.WRAP_WITH_ARROW = 1] = 'WRAP_WITH_ARROW';
})(FocusWrapMode || (FocusWrapMode = {}));

let SwipeEdgeEffect;
(function (SwipeEdgeEffect) {
  SwipeEdgeEffect[SwipeEdgeEffect.Spring = 0] = 'Spring';
  SwipeEdgeEffect[SwipeEdgeEffect.None = 1] = 'None';
})(SwipeEdgeEffect || (SwipeEdgeEffect = {}));

let ScrollState;
(function (ScrollState) {
  ScrollState[ScrollState.Idle = 0] = 'Idle';
  ScrollState[ScrollState.Scroll = 1] = 'Scroll';
  ScrollState[ScrollState.Fling = 2] = 'Fling';
})(ScrollState || (ScrollState = {}));

let ScrollSource;
(function (ScrollSource) {
  ScrollSource[ScrollSource.DRAG = 0] = 'DRAG';
  ScrollSource[ScrollSource.FLING = 1] = 'FLING';
  ScrollSource[ScrollSource.EDGE_EFFECT = 2] = 'EDGE_EFFECT';
  ScrollSource[ScrollSource.OTHER_USER_INPUT = 3] = 'OTHER_USER_INPUT';
  ScrollSource[ScrollSource.SCROLL_BAR = 4] = 'SCROLL_BAR';
  ScrollSource[ScrollSource.SCROLL_BAR_FLING = 5] = 'SCROLL_BAR_FLING';
  ScrollSource[ScrollSource.SCROLLER = 6] = 'SCROLLER';
  ScrollSource[ScrollSource.SCROLLER_ANIMATION = 7] = 'SCROLLER_ANIMATION';
})(ScrollSource || (ScrollSource = {}));

let TouchType;
(function (TouchType) {
  TouchType[TouchType.Down = 0] = 'Down';
  TouchType[TouchType.Up = 1] = 'Up';
  TouchType[TouchType.Move = 2] = 'Move';
  TouchType[TouchType.Cancel = 3] = 'Cancel';
  TouchType[TouchType.HOVER_ENTER = 9] = 'HOVER_ENTER';
  TouchType[TouchType.HOVER_MOVE = 10] = 'HOVER_MOVE';
  TouchType[TouchType.HOVER_EXIT = 11] = 'HOVER_EXIT';
  TouchType[TouchType.HOVER_CANCEL = 12] = 'HOVER_CANCEL';
})(TouchType || (TouchType = {}));

let MouseButton;
(function (MouseButton) {
  MouseButton[MouseButton.None = 0] = 'None';
  MouseButton[MouseButton.Left = 1] = 'Left';
  MouseButton[MouseButton.Right = 2] = 'Right';
  MouseButton[MouseButton.Middle = 4] = 'Middle';
  MouseButton[MouseButton.Back = 8] = 'Back';
  MouseButton[MouseButton.Forward = 16] = 'Forward';
})(MouseButton || (MouseButton = {}));

let MouseAction;
(function (MouseAction) {
  MouseAction[MouseAction.None = 0] = 'None';
  MouseAction[MouseAction.Press = 1] = 'Press';
  MouseAction[MouseAction.Release = 2] = 'Release';
  MouseAction[MouseAction.Move = 3] = 'Move';
  MouseAction[MouseAction.Hover = 4] = 'Hover';
  MouseAction[MouseAction.ENTER_WINDOW = 4] = 'ENTER_WINDOW';
  MouseAction[MouseAction.LEAVE_WINDOW = 5] = 'LEAVE_WINDOW';
  MouseAction[MouseAction.CANCEL = 13] = 'CANCEL';
})(MouseAction || (MouseAction = {}));

let KeyType;
(function (KeyType) {
  KeyType[KeyType.Down = 0] = 'Down';
  KeyType[KeyType.Up = 1] = 'Up';
  KeyType[KeyType.LongPress = 2] = 'LongPress';
  KeyType[KeyType.CANCEL = 3] = 'CANCEL';
})(KeyType || (KeyType = {}));

let GestureMode;
(function (GestureMode) {
  GestureMode[GestureMode.Sequence = 0] = 'Sequence';
  GestureMode[GestureMode.Parallel = 1] = 'Parallel';
  GestureMode[GestureMode.Exclusive = 2] = 'Exclusive';
})(GestureMode || (GestureMode = {}));

let PanDirection;
(function (PanDirection) {
  PanDirection[PanDirection.None = 0] = 'None';
  PanDirection[PanDirection.Left = 1] = 'Left';
  PanDirection[PanDirection.Right = 2] = 'Right';
  PanDirection[PanDirection.Horizontal = 3] = 'Horizontal';
  PanDirection[PanDirection.Up = 4] = 'Up';
  PanDirection[PanDirection.Down = 8] = 'Down';
  PanDirection[PanDirection.Vertical = 12] = 'Vertical';
  PanDirection[PanDirection.All = 15] = 'All';
})(PanDirection || (PanDirection = {}));

let SwipeDirection;
(function (SwipeDirection) {
  SwipeDirection[SwipeDirection.None = 0] = 'None';
  SwipeDirection[SwipeDirection.Horizontal = 1] = 'Horizontal';
  SwipeDirection[SwipeDirection.Vertical = 2] = 'Vertical';
  SwipeDirection[SwipeDirection.All = 3] = 'All';
})(SwipeDirection || (SwipeDirection = {}));

let GestureDirection;
(function (GestureDirection) {
  GestureDirection[GestureDirection.All = 0] = 'All';
  GestureDirection[GestureDirection.Horizontal = 1] = 'Horizontal';
  GestureDirection[GestureDirection.Vertical = 2] = 'Vertical';
})(GestureDirection || (GestureDirection = {}));

let GestureMask;
(function (GestureMask) {
  GestureMask[GestureMask.Normal = 0] = 'Normal';
  GestureMask[GestureMask.IgnoreInternal = 1] = 'IgnoreInternal';
})(GestureMask || (GestureMask = {}));

let GestureCollectIntervention;
(function (GestureCollectIntervention) {
  GestureCollectIntervention[GestureCollectIntervention.CONTINUE = 0] = 'CONTINUE';
  GestureCollectIntervention[GestureCollectIntervention.DISCARD_LOWER = 1] = 'DISCARD_LOWER';
  GestureCollectIntervention[GestureCollectIntervention.DISCARD_HIGHER = 2] = 'DISCARD_HIGHER';
  GestureCollectIntervention[GestureCollectIntervention.DISCARD_SELF = 3] = 'DISCARD_SELF';
  GestureCollectIntervention[GestureCollectIntervention.DISCARD_LOWER_PRIORITY_SIBLINGS = 4] = 'DISCARD_LOWER_PRIORITY_SIBLINGS';
})(GestureCollectIntervention || (GestureCollectIntervention = {}));

let GesturePriority;
(function (GesturePriority) {
  GesturePriority[GesturePriority.Low = 0] = 'Low';
  GesturePriority[GesturePriority.NORMAL = 0] = 'NORMAL';
  GesturePriority[GesturePriority.High = 1] = 'High';
  GesturePriority[GesturePriority.PRIORITY = 1] = 'PRIORITY';
  GesturePriority[GesturePriority.Parallel = 2] = 'Parallel';
  GesturePriority[GesturePriority.PARALLEL = 2] = 'PARALLEL';
})(GesturePriority || (GesturePriority = {}));

let Visibility;
(function (Visibility) {
  Visibility[Visibility.Visible = 0] = 'Visible';
  Visibility[Visibility.Hidden = 1] = 'Hidden';
  Visibility[Visibility.None = 2] = 'None';
})(Visibility || (Visibility = {}));

let RelateType;
(function (RelateType) {
  RelateType[RelateType.FILL = 0] = 'FILL';
  RelateType[RelateType.FIT = 1] = 'FIT';
})(RelateType || (RelateType = {}));

let FlexDirection;
(function (FlexDirection) {
  FlexDirection[FlexDirection.Row = 0] = 'Row';
  FlexDirection[FlexDirection.Column = 1] = 'Column';
  FlexDirection[FlexDirection.RowReverse = 2] = 'RowReverse';
  FlexDirection[FlexDirection.ColumnReverse = 3] = 'ColumnReverse';
})(FlexDirection || (FlexDirection = {}));

let FlexWrap;
(function (FlexWrap) {
  FlexWrap[FlexWrap.NoWrap = 0] = 'NoWrap';
  FlexWrap[FlexWrap.Wrap = 1] = 'Wrap';
  FlexWrap[FlexWrap.WrapReverse = 2] = 'WrapReverse';
})(FlexWrap || (FlexWrap = {}));

let FlipDirection;
(function (FlipDirection) {
  FlipDirection[FlipDirection.DOWN = 0] = 'DOWN';
  FlipDirection[FlipDirection.UP = 1] = 'UP';
})(FlipDirection || (FlipDirection = {}));

class LayoutPolicy {
  id_ = '';

  constructor(id, internal = false) {
    if (!internal) {
      const layoutPolicy = LayoutPolicy.fromId(id);
      if (layoutPolicy !== undefined) {
        return layoutPolicy;
      }
    }
    this.id_ = id;
  }

  static get matchParent() {
    if (this.matchParent_ === undefined) {
      this.matchParent_ = new LayoutPolicy('matchParent', true);
    }
    return this.matchParent_;
  }

  static get wrapContent() {
    if (this.wrapContent_ === undefined) {
      this.wrapContent_ = new LayoutPolicy('wrapContent', true);
    }
    return this.wrapContent_;
  }

  static get fixAtIdealSize() {
    if (this.fixAtIdealSize_ === undefined) {
      this.fixAtIdealSize_ = new LayoutPolicy('fixAtIdealSize', true);
    }
    return this.fixAtIdealSize_;
  }

  static fromId(id) {
    switch (id) {
      case 'matchParent':
        return LayoutPolicy.matchParent;
      case 'wrapContent':
        return LayoutPolicy.wrapContent;
      case 'fixAtIdealSize':
        return LayoutPolicy.fixAtIdealSize;
      default:
        return undefined;
    }
  }
}

globalThis.LayoutPolicy = LayoutPolicy;

var BlurStyle;
(function (BlurStyle) {
  BlurStyle[BlurStyle.SmallLight = 100] = 'SmallLight';
  BlurStyle[BlurStyle.MediumLight = 101] = 'MediumLight';
  BlurStyle[BlurStyle.LargeLight = 102] = 'LargeLight';
  BlurStyle[BlurStyle.XlargeLight = 103] = 'XlargeLight';
  BlurStyle[BlurStyle.SmallDark = 104] = 'SmallDark';
  BlurStyle[BlurStyle.MediumDark = 105] = 'MediumDark';
  BlurStyle[BlurStyle.LargeDark = 106] = 'LargeDark';
  BlurStyle[BlurStyle.XlargeDark = 107] = 'XlargeDark';
})(BlurStyle || (BlurStyle = {}));

let Edge;
(function (Edge) {
  Edge[Edge.Top = 0] = 'Top';
  Edge[Edge.Center = 1] = 'Center';
  Edge[Edge.Bottom = 2] = 'Bottom';
  Edge[Edge.Baseline = 3] = 'Baseline';
  Edge[Edge.Start = 4] = 'Start';
  Edge[Edge.Middle = 5] = 'Middle';
  Edge[Edge.End = 6] = 'End';
})(Edge || (Edge = {}));

let LineJoinStyle;
(function (LineJoinStyle) {
  LineJoinStyle[LineJoinStyle.Miter = 0] = 'Miter';
  LineJoinStyle[LineJoinStyle.Round = 1] = 'Round';
  LineJoinStyle[LineJoinStyle.Bevel = 2] = 'Bevel';
})(LineJoinStyle || (LineJoinStyle = {}));

let AnimationStatus;
(function (AnimationStatus) {
  AnimationStatus[AnimationStatus.Initial = 0] = 'Initial';
  AnimationStatus[AnimationStatus.Running = 1] = 'Running';
  AnimationStatus[AnimationStatus.Paused = 2] = 'Paused';
  AnimationStatus[AnimationStatus.Stopped = 3] = 'Stopped';
})(AnimationStatus || (AnimationStatus = {}));

let Motion;
(function (Motion) {
  Motion[Motion.SpringMotion = 0] = 'SpringMotion';
  Motion[Motion.FrictionMotion = 1] = 'FrictionMotion';
  Motion[Motion.ScrollMotion = 2] = 'ScrollMotion';
})(Motion || (Motion = {}));

let ScrollDirection;
(function (ScrollDirection) {
  ScrollDirection[ScrollDirection.Vertical = 0] = 'Vertical';
  ScrollDirection[ScrollDirection.Horizontal = 1] = 'Horizontal';
  ScrollDirection[ScrollDirection.Free = 2] = 'Free';
  ScrollDirection[ScrollDirection.None = 3] = 'None';
  ScrollDirection[ScrollDirection.FREE = 4] = 'FREE';
})(ScrollDirection || (ScrollDirection = {}));

let Sticky;
(function (Sticky) {
  Sticky[Sticky.None = 0] = 'None';
  Sticky[Sticky.Normal = 1] = 'Normal';
  Sticky[Sticky.Opacity = 2] = 'Opacity';
})(Sticky || (Sticky = {}));

let StickyStyle;
(function (StickyStyle) {
  StickyStyle[StickyStyle.None = 0] = 'None';
  StickyStyle[StickyStyle.Header = 1] = 'Header';
  StickyStyle[StickyStyle.Footer = 2] = 'Footer';
  StickyStyle[StickyStyle.BOTH = 3] = 'BOTH';
})(StickyStyle || (StickyStyle = {}));

let ScrollSnapAlign;
(function (ScrollSnapAlign) {
  ScrollSnapAlign[ScrollSnapAlign.NONE = 0] = 'NONE';
  ScrollSnapAlign[ScrollSnapAlign.START = 1] = 'START';
  ScrollSnapAlign[ScrollSnapAlign.CENTER = 2] = 'CENTER';
  ScrollSnapAlign[ScrollSnapAlign.END = 3] = 'END';
})(ScrollSnapAlign || (ScrollSnapAlign = {}));

let ChainEdgeEffect;
(function (ChainEdgeEffect) {
  ChainEdgeEffect[ChainEdgeEffect.DEFAULT = 0] = 'DEFAULT';
  ChainEdgeEffect[ChainEdgeEffect.STRETCH = 1] = 'STRETCH';
})(ChainEdgeEffect || (ChainEdgeEffect = {}));

let Week;
(function (Week) {
  Week.Mon = 0b0000001;
  Week.Tue = 0b0000010;
  Week.Wed = 0b0000100;
  Week.Thur = 0b0001000;
  Week.Fri = 0b0010000;
  Week.Sat = 0b0100000;
  Week.Sun = 0b1000000;
})(Week || (Week = {}));

let FormDimension;
(function (FormDimension) {
  FormDimension.Dimension_1_2 = 1;
  FormDimension.Dimension_2_2 = 2;
  FormDimension.Dimension_2_4 = 3;
  FormDimension.Dimension_4_4 = 4;
  FormDimension.Dimension_2_1 = 5;
  FormDimension.DIMENSION_1_1 = 6;
  FormDimension.DIMENSION_6_4 = 7;
  FormDimension.DIMENSION_2_3 = 8;
  FormDimension.DIMENSION_3_3 = 9;
})(FormDimension || (FormDimension = {}));

let FormShape;
(function (FormShape) {
  FormShape.RECT = 1;
  FormShape.CIRCLE = 2;
})(FormShape || (FormShape = {}));

let FormRenderingMode;
(function (FormRenderingMode) {
  FormRenderingMode.FULL_COLOR = 0;
  FormRenderingMode.SINGLE_COLOR = 1;
})(FormRenderingMode || (FormRenderingMode = {}));

let FormColorMode;
(function (FormColorMode) {
  FormColorMode.MODE_AUTO = -1;
  FormColorMode.MODE_DARK = 0;
  FormColorMode.MODE_LIGHT = 1;
})(FormColorMode || (FormColorMode = {}));

let TransitionType;
(function (TransitionType) {
  TransitionType.All = 'All';
  TransitionType.Insert = 'Insert';
  TransitionType.Delete = 'Delete';
})(TransitionType || (TransitionType = {}));

let Direction;
(function (Direction) {
  Direction.Ltr = 'Ltr';
  Direction.Rtl = 'Rtl';
  Direction.Auto = 'Auto';
})(Direction || (Direction = {}));

let RouteType;
(function (RouteType) {
  RouteType[RouteType.None = 0] = 'None';
  RouteType[RouteType.Push = 1] = 'Push';
  RouteType[RouteType.Pop = 2] = 'Pop';
})(RouteType || (RouteType = {}));

let FocusDirection;
(function (FocusDirection) {
  FocusDirection[FocusDirection.Up = 19] = 'Up';
  FocusDirection[FocusDirection.Down = 20] = 'Down';
  FocusDirection[FocusDirection.Left = 21] = 'Left';
  FocusDirection[FocusDirection.Right = 22] = 'Right';
  FocusDirection[FocusDirection.Tab = 61] = 'Tab';
  FocusDirection[FocusDirection.ShiftTab = 200] = 'ShiftTab';
})(FocusDirection || (FocusDirection = {}));

let SlideEffect;
(function (SlideEffect) {
  SlideEffect[SlideEffect.None = 0] = 'None';
  SlideEffect[SlideEffect.Left = 1] = 'Left';
  SlideEffect[SlideEffect.Right = 2] = 'Right';
  SlideEffect[SlideEffect.Top = 3] = 'Top';
  SlideEffect[SlideEffect.Bottom = 4] = 'Bottom';
  SlideEffect[SlideEffect.START = 5] = 'START';
  SlideEffect[SlideEffect.END = 6] = 'END';
})(SlideEffect || (SlideEffect = {}));

let GradientDirection;
(function (GradientDirection) {
  GradientDirection[GradientDirection.Left = 0] = 'Left';
  GradientDirection[GradientDirection.Top = 1] = 'Top';
  GradientDirection[GradientDirection.Right = 2] = 'Right';
  GradientDirection[GradientDirection.Bottom = 3] = 'Bottom';
  GradientDirection[GradientDirection.LeftTop = 4] = 'Bottom';
  GradientDirection[GradientDirection.LeftBottom = 5] = 'Bottom';
  GradientDirection[GradientDirection.RightTop = 6] = 'Bottom';
  GradientDirection[GradientDirection.RightBottom = 7] = 'Bottom';
  GradientDirection[GradientDirection.None = 8] = 'None';
})(GradientDirection || (GradientDirection = {}));

let BarMode;
(function (BarMode) {
  BarMode.Fixed = 'Fixed';
  BarMode.Scrollable = 'Scrollable';
})(BarMode || (BarMode = {}));

let AnimationMode;
(function (AnimationMode) {
  AnimationMode[AnimationMode.CONTENT_FIRST = 0] = 'CONTENT_FIRST';
  AnimationMode[AnimationMode.ACTION_FIRST = 1] = 'ACTION_FIRST';
  AnimationMode[AnimationMode.NO_ANIMATION = 2] = 'NO_ANIMATION';
  AnimationMode[AnimationMode.CONTENT_FIRST_WITH_JUMP = 3] = 'CONTENT_FIRST_WITH_JUMP';
  AnimationMode[AnimationMode.ACTION_FIRST_WITH_JUMP = 4] = 'ACTION_FIRST_WITH_JUMP';
})(AnimationMode || (AnimationMode = {}));

let SwiperAnimationMode;
(function (SwiperAnimationMode) {
  SwiperAnimationMode[SwiperAnimationMode.NO_ANIMATION = 0] = 'NO_ANIMATION';
  SwiperAnimationMode[SwiperAnimationMode.DEFAULT_ANIMATION = 1] = 'DEFAULT_ANIMATION';
  SwiperAnimationMode[SwiperAnimationMode.FAST_ANIMATION = 2] = 'FAST_ANIMATION';
})(SwiperAnimationMode || (SwiperAnimationMode = {}));

let SelectedMode;
(function (SelectedMode) {
  SelectedMode[SelectedMode.INDICATOR = 0] = 'INDICATOR';
  SelectedMode[SelectedMode.BOARD = 1] = 'BOARD';
})(SelectedMode || (SelectedMode = {}));

let LayoutMode;
(function (LayoutMode) {
  LayoutMode[LayoutMode.AUTO = 0] = 'AUTO';
  LayoutMode[LayoutMode.VERTICAL = 1] = 'VERTICAL';
  LayoutMode[LayoutMode.HORIZONTAL = 2] = 'HORIZONTAL';
})(LayoutMode || (LayoutMode = {}));

let LayoutStyle;
(function (LayoutStyle) {
  LayoutStyle[LayoutStyle.ALWAYS_CENTER = 0] = 'ALWAYS_CENTER';
  LayoutStyle[LayoutStyle.ALWAYS_AVERAGE_SPLIT = 1] = 'ALWAYS_AVERAGE_SPLIT';
  LayoutStyle[LayoutStyle.SPACE_BETWEEN_OR_CENTER = 2] = 'SPACE_BETWEEN_OR_CENTER';
})(LayoutStyle || (LayoutStyle = {}));

let TabsCacheMode;
(function (TabsCacheMode) {
  TabsCacheMode[TabsCacheMode.CACHE_BOTH_SIDE = 0] = 'CACHE_BOTH_SIDE';
  TabsCacheMode[TabsCacheMode.CACHE_LATEST_SWITCHED = 1] = 'CACHE_LATEST_SWITCHED';
})(TabsCacheMode || (TabsCacheMode = {}));

let SizeType;
(function (SizeType) {
  SizeType[SizeType.Auto = 0] = 'Auto';
  SizeType[SizeType.XS = 1] = 'XS';
  SizeType[SizeType.SM = 2] = 'SM';
  SizeType[SizeType.MD = 3] = 'MD';
  SizeType[SizeType.LG = 4] = 'LG';
})(SizeType || (SizeType = {}));

let CancelButtonStyle;
(function (CancelButtonStyle) {
  CancelButtonStyle.CONSTANT = 'CONSTANT';
  CancelButtonStyle.INVISIBLE = 'INVISIBLE';
  CancelButtonStyle.INPUT = 'INPUT';
})(CancelButtonStyle || (CancelButtonStyle = {}));

let ColorMode;
(function (ColorMode) {
  ColorMode[ColorMode.LIGHT = 0] = 'LIGHT';
  ColorMode[ColorMode.DARK = 1] = 'DARK';
})(ColorMode || (ColorMode = {}));
let LayoutDirection;
(function (LayoutDirection) {
  LayoutDirection[LayoutDirection.RTL = 0] = 'RTL';
  LayoutDirection[LayoutDirection.LTR = 1] = 'LTR';
})(LayoutDirection || (LayoutDirection = {}));

function isSystemplugin(shortName, moduleType) {
  const plugin = moduleType === 'ohos' ? globalThis.ohosplugin : globalThis.systemplugin;
  if (typeof (plugin) !== 'undefined') {
    let target = plugin;
    for (let key of shortName.split('.')) {
      target = target[key];
      if (!target) {
        break;
      }
    }
    return typeof (target) !== 'undefined';
  }
}

let BarPosition;
(function (BarPosition) {
  BarPosition[BarPosition.Start = 0] = 'Start';
  BarPosition[BarPosition.End = 1] = 'End';
})(BarPosition || (BarPosition = {}));

let SharedTransitionEffectType;
(function (SharedTransitionEffectType) {
  SharedTransitionEffectType[SharedTransitionEffectType.Static = 0] = 'Static';
  SharedTransitionEffectType[SharedTransitionEffectType.Exchange = 1] = 'Exchange';
})(SharedTransitionEffectType || (SharedTransitionEffectType = {}));

function $r(id, type, ...params) {
  return { 'id': id, 'type': type, 'params': params };
}

function $rawfile(fileName) {
  return { 'id': 0, 'type': 30000, 'params': [fileName] };
}

let IndexerAlign;
(function (IndexerAlign) {
  IndexerAlign[IndexerAlign.Left = 0] = 'Left';
  IndexerAlign[IndexerAlign.Right = 1] = 'Right';
  IndexerAlign[IndexerAlign.START = 2] = 'START';
  IndexerAlign[IndexerAlign.END = 3] = 'END';
})(IndexerAlign || (IndexerAlign = {}));

let DialogAlignment;
(function (DialogAlignment) {
  DialogAlignment[DialogAlignment.Top = 0] = 'Top';
  DialogAlignment[DialogAlignment.Center = 1] = 'Center';
  DialogAlignment[DialogAlignment.Bottom = 2] = 'Bottom';
  DialogAlignment[DialogAlignment.Default = 3] = 'Default';
  DialogAlignment[DialogAlignment.TopStart = 4] = 'TopStart';
  DialogAlignment[DialogAlignment.TopEnd = 5] = 'TopEnd';
  DialogAlignment[DialogAlignment.CenterStart = 6] = 'CenterStart';
  DialogAlignment[DialogAlignment.CenterEnd = 7] = 'CenterEnd';
  DialogAlignment[DialogAlignment.BottomStart = 8] = 'BottomStart';
  DialogAlignment[DialogAlignment.BottomEnd = 9] = 'BottomEnd';
})(DialogAlignment || (DialogAlignment = {}));

let HoverModeAreaType;
(function (HoverModeAreaType) {
  HoverModeAreaType.TOP_SCREEN = 0;
  HoverModeAreaType.BOTTOM_SCREEN = 1;
})(HoverModeAreaType || (HoverModeAreaType = {}));

let DialogButtonStyle;
(function (DialogButtonStyle) {
  DialogButtonStyle[DialogButtonStyle.DEFAULT = 0] = 'DEFAULT';
  DialogButtonStyle[DialogButtonStyle.HIGHLIGHT = 1] = 'HIGHLIGHT';
})(DialogButtonStyle || (DialogButtonStyle = {}));

let EditMode;
(function (EditMode) {
  EditMode[EditMode.None = 0] = 'None';
  EditMode[EditMode.Deletable = 1] = 'Deletable';
  EditMode[EditMode.Movable = 2] = 'Movable';
})(EditMode || (EditMode = {}));

let SwiperDisplayMode;
(function (SwiperDisplayMode) {
  SwiperDisplayMode[SwiperDisplayMode.Stretch = 0] = 'Stretch';
  SwiperDisplayMode[SwiperDisplayMode.AutoLinear = 1] = 'AutoLinear';
  SwiperDisplayMode[SwiperDisplayMode.STRETCH = 0] = 'STRETCH';
  SwiperDisplayMode[SwiperDisplayMode.AUTO_LINEAR = 1] = 'AUTO_LINEAR';
})(SwiperDisplayMode || (SwiperDisplayMode = {}));

var EdgeEffect;
(function (EdgeEffect) {
  EdgeEffect[EdgeEffect.Spring = 0] = 'Spring';
  EdgeEffect[EdgeEffect.Fade = 1] = 'Fade';
  EdgeEffect[EdgeEffect.None = 2] = 'None';
})(EdgeEffect || (EdgeEffect = {}));

let DatePickerType;
(function (DatePickerType) {
  DatePickerType[DatePickerType.Time = 0] = 'Time';
  DatePickerType[DatePickerType.Date = 1] = 'Date';
})(DatePickerType || (DatePickerType = {}));

let TimePickerFormat;
(function (TimePickerFormat) {
  TimePickerFormat[TimePickerFormat.HOUR_MINUTE = 0] = 'HOUR_MINUTE';
  TimePickerFormat[TimePickerFormat.HOUR_MINUTE_SECOND = 1] = 'HOUR_MINUTE_SECOND';
})(TimePickerFormat || (TimePickerFormat = {}));

let InputType;
(function (InputType) {
  InputType[InputType.Normal = 0] = 'Normal';
  InputType[InputType.Number = 2] = 'Number';
  InputType[InputType.PhoneNumber = 3] = 'PhoneNumber';
  InputType[InputType.Email = 5] = 'Email';
  InputType[InputType.Password = 7] = 'Password';
  InputType[InputType.NUMBER_PASSWORD = 8] = 'NUMBER_PASSWORD';
  InputType[InputType.SCREEN_LOCK_PASSWORD = 9] = 'SCREEN_LOCK_PASSWORD';
  InputType[InputType.USER_NAME = 10] = 'USER_NAME';
  InputType[InputType.NEW_PASSWORD = 11] = 'NEW_PASSWORD';
  InputType[InputType.NUMBER_DECIMAL = 12] = 'NUMBER_DECIMAL';
  InputType[InputType.URL = 13] = 'URL';
  InputType[InputType.ONE_TIME_CODE = 14] = 'ONE_TIME_CODE';
})(InputType || (InputType = {}));

let SearchType;
(function (SearchType) {
  SearchType[SearchType.NORMAL = 0] = 'NORMAL';
  SearchType[SearchType.NUMBER = 2] = 'NUMBER';
  SearchType[SearchType.PHONE_NUMBER = 3] = 'PHONE_NUMBER';
  SearchType[SearchType.EMAIL = 5] = 'EMAIL';
  SearchType[SearchType.NUMBER_DECIMAL = 12] = 'NUMBER_DECIMAL';
  SearchType[SearchType.URL = 13] = 'URL';
  SearchType[SearchType.ONE_TIME_CODE = 14] = 'ONE_TIME_CODE';
})(SearchType || (SearchType = {}));

let AutoCapitalizationMode;
(function (AutoCapitalizationMode) {
  AutoCapitalizationMode[AutoCapitalizationMode["NONE"] = 0] = "NONE";
  AutoCapitalizationMode[AutoCapitalizationMode["WORDS"] = 1] = "WORDS";
  AutoCapitalizationMode[AutoCapitalizationMode["SENTENCES"] = 2] = "SENTENCES";
  AutoCapitalizationMode[AutoCapitalizationMode["ALL_CHARACTERS"] = 3] = "ALL_CHARACTERS";
})(AutoCapitalizationMode || (AutoCapitalizationMode = {}));

let TextAreaType;
(function (TextAreaType) {
  TextAreaType[TextAreaType.NORMAL = 0] = 'NORMAL';
  TextAreaType[TextAreaType.NUMBER = 2] = 'NUMBER';
  TextAreaType[TextAreaType.PHONE_NUMBER = 3] = 'PHONE_NUMBER';
  TextAreaType[TextAreaType.EMAIL = 5] = 'EMAIL';
  TextAreaType[TextAreaType.NUMBER_DECIMAL = 12] = 'NUMBER_DECIMAL';
  TextAreaType[TextAreaType.URL = 13] = 'URL';
  TextAreaType[TextAreaType.ONE_TIME_CODE = 14] = 'ONE_TIME_CODE';
})(TextAreaType || (TextAreaType = {}));

let EnterKeyType;
(function (EnterKeyType) {
  EnterKeyType[EnterKeyType.Go = 2] = 'Go';
  EnterKeyType[EnterKeyType.Search = 3] = 'Search';
  EnterKeyType[EnterKeyType.Send = 4] = 'Send';
  EnterKeyType[EnterKeyType.Next = 5] = 'Next';
  EnterKeyType[EnterKeyType.Done = 6] = 'Done';
  EnterKeyType[EnterKeyType.PREVIOUS = 7] = 'PREVIOUS';
  EnterKeyType[EnterKeyType.NEW_LINE = 8] = 'NEW_LINE';
})(EnterKeyType || (EnterKeyType = {}));

let ItemState
(function (ItemState) {
  ItemState[ItemState.Normal = 0] = 'Normal';
  ItemState[ItemState.Disabled = 1] = 'Disabled';
  ItemState[ItemState.Waiting = 2] = 'Waiting';
  ItemState[ItemState.Skip = 3] = 'Skip';
})(ItemState || (ItemState = {}));

let NavigationTitleMode;
(function (NavigationTitleMode) {
  NavigationTitleMode[NavigationTitleMode.Free = 0] = 'Free';
  NavigationTitleMode[NavigationTitleMode.Full = 1] = 'Full';
  NavigationTitleMode[NavigationTitleMode.Mini = 2] = 'Mini';
})(NavigationTitleMode || (NavigationTitleMode = {}));

let BarStyle;
(function (BarStyle) {
  BarStyle[BarStyle.STANDARD = 0] = 'STANDARD';
  BarStyle[BarStyle.STACK = 1] = 'STACK';
  BarStyle[BarStyle.SAFE_AREA_PADDING = 2] = 'SAFE_AREA_PADDING';
})(BarStyle || (BarStyle = {}));
let NavigationMode;
(function (NavigationMode) {
  NavigationMode[NavigationMode.Stack = 0] = 'Stack';
  NavigationMode[NavigationMode.Split = 1] = 'Split';
  NavigationMode[NavigationMode.Auto = 2] = 'Auto';
  NavigationMode[NavigationMode.AUTO_WITH_ASPECT_RATIO = 3] = 'AUTO_WITH_ASPECT_RATIO';
})(NavigationMode || (NavigationMode = {}));

let NavRouteMode;
(function (NavRouteMode) {
  NavRouteMode[NavRouteMode.PUSH_WITH_RECREATE = 0] = 'PUSH_WITH_RECREATE';
  NavRouteMode[NavRouteMode.PUSH = 1] = 'PUSH';
  NavRouteMode[NavRouteMode.REPLACE = 2] = 'REPLACE';
})(NavRouteMode || (NavRouteMode = {}));

let NavBarPosition;
(function (NavBarPosition) {
  NavBarPosition[NavBarPosition.Start = 0] = 'Start';
  NavBarPosition[NavBarPosition.End = 1] = 'End';
})(NavBarPosition || (NavBarPosition = {}));

let TitleHeight;
(function (TitleHeight) {
  TitleHeight.MainOnly = 'MainOnly';
  TitleHeight.MainWithSub = 'MainWithSub';
})(TitleHeight || (TitleHeight = {}));

let NavDestinationMode;
(function (NavDestinationMode) {
  NavDestinationMode[NavDestinationMode.STANDARD = 0] = 'STANDARD';
  NavDestinationMode[NavDestinationMode.DIALOG = 1] = 'DIALOG';
}(NavDestinationMode || (NavDestinationMode = {})));

let NavDestinationActiveReason;
(function (NavDestinationActiveReason) {
  NavDestinationActiveReason[NavDestinationActiveReason.TRANSITION = 0] = 'TRANSITION';
  NavDestinationActiveReason[NavDestinationActiveReason.CONTENT_COVER = 1] = 'CONTENT_COVER';
  NavDestinationActiveReason[NavDestinationActiveReason.SHEET = 2] = 'SHEET';
  NavDestinationActiveReason[NavDestinationActiveReason.DIALOG = 3] = 'DIALOG';
  NavDestinationActiveReason[NavDestinationActiveReason.OVERLAY = 4] = 'OVERLAY';
  NavDestinationActiveReason[NavDestinationActiveReason.APP_STATE = 5] = 'APP_STATE';
}(NavDestinationActiveReason || (NavDestinationActiveReason = {})));

let NavigationSystemTransitionType;
(function (NavigationSystemTransitionType) {
  NavigationSystemTransitionType[NavigationSystemTransitionType.DEFAULT = 0] = 'DEFAULT';
  NavigationSystemTransitionType[NavigationSystemTransitionType.NONE = 1] = 'NONE';
  NavigationSystemTransitionType[NavigationSystemTransitionType.TITLE = 2] = 'TITLE';
  NavigationSystemTransitionType[NavigationSystemTransitionType.CONTENT = 3] = 'CONTENT';
  NavigationSystemTransitionType[NavigationSystemTransitionType.FADE = 4] = 'FADE';
  NavigationSystemTransitionType[NavigationSystemTransitionType.EXPLODE = 5] = 'EXPLODE';
  NavigationSystemTransitionType[NavigationSystemTransitionType.SLIDE_RIGHT = 6] = 'SLIDE_RIGHT';
  NavigationSystemTransitionType[NavigationSystemTransitionType.SLIDE_BOTTOM = 7] = 'SLIDE_BOTTOM';
}(NavigationSystemTransitionType || (NavigationSystemTransitionType = {})));

let VisibilityChangeReason;
(function (VisibilityChangeReason) {
  VisibilityChangeReason[VisibilityChangeReason.TRANSITION = 0] = 'TRANSITION';
  VisibilityChangeReason[VisibilityChangeReason.CONTENT_COVER = 1] = 'CONTENT_COVER';
  VisibilityChangeReason[VisibilityChangeReason.APP_STATE = 2] = 'APP_STATE';
}(VisibilityChangeReason || (VisibilityChangeReason = {})));

let NavigationOperation;
(function (NavigationOperation) {
  NavigationOperation[NavigationOperation.PUSH = 1] = 'PUSH';
  NavigationOperation[NavigationOperation.POP = 2] = 'POP';
  NavigationOperation[NavigationOperation.REPLACE = 3] = 'REPLACE';
}(NavigationOperation || (NavigationOperation = {})));

let ResponseType;
(function (ResponseType) {
  ResponseType[ResponseType.RightClick = 0] = 'RightClick';
  ResponseType[ResponseType.LongPress = 1] = 'LongPress';
})(ResponseType || (ResponseType = {}));

let RichEditorResponseType;
(function (RichEditorResponseType) {
  RichEditorResponseType[RichEditorResponseType.RIGHT_CLICK = 0] = 'RIGHT_CLICK';
  RichEditorResponseType[RichEditorResponseType.LONG_PRESS = 1] = 'LONG_PRESS';
  RichEditorResponseType[RichEditorResponseType.SELECT = 2] = 'SELECT';
  RichEditorResponseType[RichEditorResponseType.DEFAULT = 3] = 'DEFAULT';
})(RichEditorResponseType || (RichEditorResponseType = {}));

let UndoStyle;
(function (UndoStyle) {
  UndoStyle[UndoStyle.CLEAR_STYLE = 0] = 'CLEAR_STYLE';
  UndoStyle[UndoStyle.KEEP_STYLE = 1] = 'KEEP_STYLE';
})(UndoStyle || (UndoStyle = {}));

let MenuType;
(function (MenuType) {
  MenuType[MenuType.SELECTION_MENU = 0] = 'SELECTION_MENU';
  MenuType[MenuType.PREVIEW_MENU = 1] = 'PREVIEW_MENU';
})(MenuType || (MenuType = {}));

let MenuPreviewMode;
(function (MenuPreviewMode) {
  MenuPreviewMode[MenuPreviewMode.NONE = 0] = 'NONE';
  MenuPreviewMode[MenuPreviewMode.IMAGE = 1] = 'IMAGE';
})(MenuPreviewMode || (MenuPreviewMode = {}));

let HapticFeedbackMode;
(function (HapticFeedbackMode) {
  HapticFeedbackMode[HapticFeedbackMode.DISABLED = 0] = 'DISABLED';
  HapticFeedbackMode[HapticFeedbackMode.ENABLED = 1] = 'ENABLED';
  HapticFeedbackMode[HapticFeedbackMode.AUTO = 2] = 'AUTO';
})(HapticFeedbackMode || (HapticFeedbackMode = {}));

let ModalMode;
(function (ModalMode) {
  ModalMode[ModalMode.AUTO = 0] = 'AUTO';
  ModalMode[ModalMode.NONE = 1] = 'NONE';
  ModalMode[ModalMode.TARGET_WINDOW = 2] = 'TARGET_WINDOW';
})(ModalMode || (ModalMode = {}));

let PreviewScaleMode;
(function (PreviewScaleMode) {
  PreviewScaleMode[PreviewScaleMode.AUTO = 0] = 'AUTO';
  PreviewScaleMode[PreviewScaleMode.CONSTANT = 1] = 'CONSTANT';
  PreviewScaleMode[PreviewScaleMode.MAINTAIN = 2] = 'MAINTAIN';
})(PreviewScaleMode || (PreviewScaleMode = {}));

let AvailableLayoutArea;
(function (AvailableLayoutArea) {
  AvailableLayoutArea[AvailableLayoutArea.SAFE_AREA = 0] = 'SAFE_AREA';
})(AvailableLayoutArea || (AvailableLayoutArea = {}));

let TextChangeReason;
(function (TextChangeReason) {
  TextChangeReason[TextChangeReason.UNKNOWN = 0] = 'UNKNOWN';
  TextChangeReason[TextChangeReason.INPUT = 1] = 'INPUT';
  TextChangeReason[TextChangeReason.PASTE = 2] = 'PASTE';
  TextChangeReason[TextChangeReason.CUT = 3] = 'CUT';
  TextChangeReason[TextChangeReason.DRAG = 4] = 'DRAG';
  TextChangeReason[TextChangeReason.AUTO_FILL = 5] = 'AUTO_FILL';
  TextChangeReason[TextChangeReason.AI_WRITE = 6] = 'AI_WRITE';
  TextChangeReason[TextChangeReason.REDO = 7] = 'REDO';
  TextChangeReason[TextChangeReason.UNDO = 8] = 'UNDO';
  TextChangeReason[TextChangeReason.CONTROLLER = 9] = 'CONTROLLER';
  TextChangeReason[TextChangeReason.ACCESSIBILITY = 10] = 'ACCESSIBILITY';
  TextChangeReason[TextChangeReason.COLLABORATION = 11] = 'COLLABORATION';
  TextChangeReason[TextChangeReason.STYLUS = 12] = 'STYLUS';
})(TextChangeReason || (TextChangeReason = {}));

let DismissReason;
(function (DismissReason) {
  DismissReason[DismissReason.PRESS_BACK = 0] = 'PRESS_BACK';
  DismissReason[DismissReason.TOUCH_OUTSIDE = 1] = 'TOUCH_OUTSIDE';
  DismissReason[DismissReason.CLOSE_BUTTON = 2] = 'CLOSE_BUTTON';
  DismissReason[DismissReason.SLIDE_DOWN = 3] = 'SLIDE_DOWN';
  DismissReason[DismissReason.SLIDE = 4] = 'SLIDE';
})(DismissReason || (DismissReason = {}));

let HoverEffect;
(function (HoverEffect) {
  HoverEffect[HoverEffect.Auto = 4] = 'Auto';
  HoverEffect[HoverEffect.Scale = 2] = 'Scale';
  HoverEffect[HoverEffect.Board = 3] = 'Board';
  HoverEffect[HoverEffect.Highlight = 3] = 'Highlight';
  HoverEffect[HoverEffect.None = 0] = 'None';
})(HoverEffect || (HoverEffect = {}));

let ScrollBarDirection;
(function (ScrollBarDirection) {
  ScrollBarDirection[ScrollBarDirection.Vertical = 0] = 'Vertical';
  ScrollBarDirection[ScrollBarDirection.Horizontal = 1] = 'Horizontal';
  ScrollBarDirection[ScrollBarDirection.None = 2] = 'None';
})(ScrollBarDirection || (ScrollBarDirection = {}));

let Placement;
(function (Placement) {
  Placement[Placement.Left = 0] = 'Left';
  Placement[Placement.Right = 1] = 'Right';
  Placement[Placement.Top = 2] = 'Top';
  Placement[Placement.Bottom = 3] = 'Bottom';
  Placement[Placement.TopLeft = 4] = 'TopLeft';
  Placement[Placement.TopRight = 5] = 'TopRight';
  Placement[Placement.BottomLeft = 6] = 'BottomLeft';
  Placement[Placement.BottomRight = 7] = 'BottomRight';
  Placement[Placement.LeftTop = 8] = 'LeftTop';
  Placement[Placement.LeftBottom = 9] = 'LeftBottom';
  Placement[Placement.RightTop = 10] = 'RightTop';
  Placement[Placement.RightBottom = 11] = 'RightBottom';
})(Placement || (Placement = {}));

let DialogStatus;
(function (DialogStatus) {
  DialogStatus[DialogStatus.Accept = 0] = 'Accept';
  DialogStatus[DialogStatus.Cancel = 1] = 'Cancel';
  DialogStatus[DialogStatus.Update = 2] = 'Update';
})(DialogStatus || (DialogStatus = {}));

let SourceType;
(function (SourceType) {
  SourceType[SourceType.Unknown = 0] = 'Unknown';
  SourceType[SourceType.Mouse = 1] = 'Mouse';
  SourceType[SourceType.TouchScreen = 2] = 'TouchScreen';
  SourceType[SourceType.KEY = 4] = 'KEY';
  SourceType[SourceType.JOYSTICK = 5] = 'JOYSTICK';
})(SourceType || (SourceType = {}));

let SourceTool;
(function (SourceTool) {
  SourceTool[SourceTool.Unknown = 0] = 'Unknown';
  SourceTool[SourceTool.FINGER = 1] = 'FINGER';
  SourceTool.Finger = 1;
  SourceTool[SourceTool.PEN = 2] = 'PEN';
  SourceTool.Pen = 2;
  SourceTool[SourceTool.MOUSE = 7] = 'MOUSE';
  SourceTool[SourceTool.TOUCHPAD = 9] = 'TOUCHPAD';
  SourceTool[SourceTool.JOYSTICK = 10] = 'JOYSTICK';
})(SourceTool || (SourceTool = {}));

let KeySource;
(function (KeySource) {
  KeySource[KeySource.Unknown = 0] = 'Unknown';
  KeySource[KeySource.Keyboard = 4] = 'Keyboard';
  KeySource[KeySource.JOYSTICK = 5] = 'JOYSTICK';
})(KeySource || (KeySource = {}));

let SeekMode;
(function (SeekMode) {
  SeekMode[SeekMode.PreviousKeyframe = 0] = 'PreviousKeyframe';
  SeekMode[SeekMode.NextKeyframe = 1] = 'NextKeyframe';
  SeekMode[SeekMode.ClosestKeyframe = 2] = 'ClosestKeyframe';
  SeekMode[SeekMode.Accurate = 3] = 'Accurate';
})(SeekMode || (SeekMode = {}));

let SideBarContainerType;
(function (SideBarContainerType) {
  SideBarContainerType[SideBarContainerType.DISPLACE = 3] = 'DISPLACE';
  SideBarContainerType[SideBarContainerType.AUTO = 2] = 'AUTO';
  SideBarContainerType[SideBarContainerType.Overlay = 1] = 'Overlay';
  SideBarContainerType[SideBarContainerType.Embed = 0] = 'Embed';
})(SideBarContainerType || (SideBarContainerType = {}));

let SideBarPosition;
(function (SideBarPosition) {
  SideBarPosition[SideBarPosition.Start = 0] = 'Start';
  SideBarPosition[SideBarPosition.End = 1] = 'End';
})(SideBarPosition || (SideBarPosition = {}));

let PlaybackSpeed;
(function (PlaybackSpeed) {
  PlaybackSpeed.Speed_Forward_0_75_X = '0.75';
  PlaybackSpeed.Speed_Forward_1_00_X = '1.00';
  PlaybackSpeed.Speed_Forward_1_25_X = '1.25';
  PlaybackSpeed.Speed_Forward_1_75_X = '1.75';
  PlaybackSpeed.Speed_Forward_2_00_X = '2.00';
  PlaybackSpeed.SPEED_FORWARD_0_50_X = '0.50';
  PlaybackSpeed.SPEED_FORWARD_1_50_X = '1.50';
  PlaybackSpeed.SPEED_FORWARD_3_00_X = '3.00';
  PlaybackSpeed.SPEED_FORWARD_0_25_X = '0.25';
  PlaybackSpeed.SPEED_FORWARD_0_125_X = '0.125';
})(PlaybackSpeed || (PlaybackSpeed = {}));

let MixedMode;
(function (MixedMode) {
  MixedMode[MixedMode.All = 0] = 'All';
  MixedMode[MixedMode.Compatible = 1] = 'Compatible';
  MixedMode[MixedMode.None = 2] = 'None';
})(MixedMode || (MixedMode = {}));

let HitTestType;
(function (HitTestType) {
  HitTestType[HitTestType.EditText = 0] = 'EditText';
  HitTestType[HitTestType.Email = 1] = 'Email';
  HitTestType[HitTestType.HttpAnchor = 2] = 'HttpAnchor';
  HitTestType[HitTestType.HttpAnchorImg = 3] = 'HttpAnchorImg';
  HitTestType[HitTestType.Img = 4] = 'Img';
  HitTestType[HitTestType.Map = 5] = 'Map';
  HitTestType[HitTestType.Phone = 6] = 'Phone';
  HitTestType[HitTestType.Unknown = 7] = 'Unknown';
})(HitTestType || (HitTestType = {}));

let CacheMode;
(function (CacheMode) {
  CacheMode[CacheMode.Default = 0] = 'Default';
  CacheMode[CacheMode.None = 1] = 'None';
  CacheMode[CacheMode.Online = 2] = 'Online';
  CacheMode[CacheMode.Only = 3] = 'Only';
})(CacheMode || (CacheMode = {}));

let WebDarkMode;
(function (WebDarkMode) {
  WebDarkMode[WebDarkMode.Off = 0] = 'Off';
  WebDarkMode[WebDarkMode.On = 1] = 'On';
  WebDarkMode[WebDarkMode.Auto = 2] = 'Auto';
})(WebDarkMode || (WebDarkMode = {}));

let OverScrollMode;
(function (OverScrollMode) {
  OverScrollMode[OverScrollMode.NEVER = 0] = 'NEVER';
  OverScrollMode[OverScrollMode.ALWAYS = 1] = 'ALWAYS';
})(OverScrollMode || (OverScrollMode = {}));

let BlurOnKeyboardHideMode;
(function (BlurOnKeyboardHideMode) {
  BlurOnKeyboardHideMode[BlurOnKeyboardHideMode.SILENT = 0] = 'SILENT';
  BlurOnKeyboardHideMode[BlurOnKeyboardHideMode.BLUR = 1] = 'BLUR';
})(BlurOnKeyboardHideMode || (BlurOnKeyboardHideMode = {}));

let RenderExitReason;
(function (RenderExitReason) {
  RenderExitReason[RenderExitReason.ProcessAbnormalTermination = 0] = 'ProcessAbnormalTermination';
  RenderExitReason[RenderExitReason.ProcessWasKilled = 1] = 'ProcessWasKilled';
  RenderExitReason[RenderExitReason.ProcessCrashed = 2] = 'ProcessCrashed';
  RenderExitReason[RenderExitReason.ProcessOom = 3] = 'ProcessOom';
  RenderExitReason[RenderExitReason.ProcessExitUnknown = 4] = 'ProcessExitUnknown';
})(RenderExitReason || (RenderExitReason = {}));

let RenderProcessNotRespondingReason;
(function (RenderProcessNotRespondingReason) {
  RenderProcessNotRespondingReason[RenderProcessNotRespondingReason.INPUT_TIMEOUT = 0] = 'INPUT_TIMEOUT';
  RenderProcessNotRespondingReason[RenderProcessNotRespondingReason.NAVIGATION_COMMIT_TIMEOUT = 1] = 'NAVIGATION_COMMIT_TIMEOUT';
})(RenderProcessNotRespondingReason || (RenderProcessNotRespondingReason = {}));

let SslError;
(function (SslError) {
  SslError[SslError.Invalid = 0] = 'Invalid';
  SslError[SslError.HostMismatch = 1] = 'HostMismatch';
  SslError[SslError.DateInvalid = 2] = 'DateInvalid';
  SslError[SslError.Untrusted = 3] = 'Untrusted';
})(SslError || (SslError = {}));

let FileSelectorMode;
(function (FileSelectorMode) {
  FileSelectorMode[FileSelectorMode.FileOpenMode = 0] = 'FileOpenMode';
  FileSelectorMode[FileSelectorMode.FileOpenMultipleMode = 1] = 'FileOpenMultipleMode';
  FileSelectorMode[FileSelectorMode.FileOpenFolderMode = 2] = 'FileOpenFolderMode';
  FileSelectorMode[FileSelectorMode.FileSaveMode = 3] = 'FileSaveMode';
})(FileSelectorMode || (FileSelectorMode = {}));

let AISessionType;
(function (AISessionType) {
  AISessionType[AISessionType.TRANSLATOR = 1] = 'TRANSLATOR';
  AISessionType[AISessionType.LANGUAGE_DETECTOR = 2] = 'LANGUAGE_DETECTOR';
  AISessionType[AISessionType.SUMMARIZER = 3] = 'SUMMARIZER';
  AISessionType[AISessionType.WRITER = 4] = 'WRITER';
  AISessionType[AISessionType.REWRITER = 5] = 'REWRITER';
  AISessionType[AISessionType.PROMPT = 6] = 'PROMPT';
  AISessionType[AISessionType.PROOFREADER = 7] = 'PROOFREADER';
})(AISessionType || (AISessionType = {}));

let AISessionResultType;
(function (AISessionResultType) {
  AISessionResultType[AISessionResultType.SUCCESS = 0] = 'SUCCESS';
  AISessionResultType[AISessionResultType.FAILURE = 1] = 'FAILURE';
  AISessionResultType[AISessionResultType.RUNNING = 2] = 'RUNNING';
})(AISessionResultType || (AISessionResultType = {}));

let ProtectedResourceType;
(function (ProtectedResourceType) {
  ProtectedResourceType.MidiSysex = 'TYPE_MIDI_SYSEX';
  ProtectedResourceType.VIDEO_CAPTURE = 'TYPE_VIDEO_CAPTURE';
  ProtectedResourceType.AUDIO_CAPTURE = 'TYPE_AUDIO_CAPTURE';
  ProtectedResourceType.SENSOR = 'TYPE_SENSOR';
})(ProtectedResourceType || (ProtectedResourceType = {}));

let ProgressType;
(function (ProgressType) {
  ProgressType[ProgressType.Linear = 0] = 'Linear';
  ProgressType[ProgressType.Ring = 1] = 'Ring';
  ProgressType[ProgressType.Eclipse = 2] = 'Eclipse';
  ProgressType[ProgressType.ScaleRing = 3] = 'ScaleRing';
  ProgressType[ProgressType.Capsule = 4] = 'Capsule';
})(ProgressType || (ProgressType = {}));

let ProgressStatus;
(function (ProgressStatus) {
  ProgressStatus.LOADING = 'LOADING';
  ProgressStatus.PROGRESSING = 'PROGRESSING';
})(ProgressStatus || (ProgressStatus = {}));

let MessageLevel
(function (MessageLevel) {
  MessageLevel[MessageLevel.Debug = 1] = 'Debug';
  MessageLevel[MessageLevel.Info = 2] = 'Info';
  MessageLevel[MessageLevel.Warn = 3] = 'Warn';
  MessageLevel[MessageLevel.Error = 4] = 'Error';
  MessageLevel[MessageLevel.Log = 5] = 'Log';
})(MessageLevel || (MessageLevel = {}));

let CopyOptions;
(function (CopyOptions) {
  CopyOptions[CopyOptions.None = 0] = 'None';
  CopyOptions[CopyOptions.InApp = 1] = 'InApp';
  CopyOptions[CopyOptions.LocalDevice = 2] = 'LocalDevice';
  CopyOptions[CopyOptions.CROSS_DEVICE = 3] = 'CrossDevice';
})(CopyOptions || (CopyOptions = {}));

let SymbolRenderingStrategy;
(function (SymbolRenderingStrategy) {
  SymbolRenderingStrategy[SymbolRenderingStrategy.SINGLE = 0] = 'SINGLE';
  SymbolRenderingStrategy[SymbolRenderingStrategy.MULTIPLE_COLOR = 1] = 'MULTIPLE_COLOR';
  SymbolRenderingStrategy[SymbolRenderingStrategy.MULTIPLE_OPACITY = 2] = 'MULTIPLE_OPACITY';
})(SymbolRenderingStrategy || (SymbolRenderingStrategy = {}));

let SymbolEffectStrategy;
(function (SymbolEffectStrategy) {
  SymbolEffectStrategy[SymbolEffectStrategy.NONE = 0] = 'NONE';
  SymbolEffectStrategy[SymbolEffectStrategy.SCALE = 1] = 'SCALE';
  SymbolEffectStrategy[SymbolEffectStrategy.HIERARCHICAL = 2] = 'HIERARCHICAL';
})(SymbolEffectStrategy || (SymbolEffectStrategy = {}));

let EffectDirection;
(function (EffectDirection) {
  EffectDirection[EffectDirection.DOWN = 0] = 'DOWN';
  EffectDirection[EffectDirection.UP = 1] = 'UP';
})(EffectDirection || (EffectDirection = {}));

let EffectScope;
(function (EffectScope) {
  EffectScope[EffectScope.LAYER = 0] = 'LAYER';
  EffectScope[EffectScope.WHOLE = 1] = 'WHOLE';
})(EffectScope || (EffectScope = {}));

let EffectFillStyle;
(function (EffectFillStyle) {
  EffectFillStyle[EffectFillStyle.CUMULATIVE = 0] = 'CUMULATIVE';
  EffectFillStyle[EffectFillStyle.ITERATIVE = 1] = 'ITERATIVE';
})(EffectFillStyle || (EffectFillStyle = {}));

let WebKeyboardAvoidMode;
(function (WebKeyboardAvoidMode) {
  WebKeyboardAvoidMode[WebKeyboardAvoidMode.RESIZE_VISUAL = 0] = 'RESIZE_VISUAL';
  WebKeyboardAvoidMode[WebKeyboardAvoidMode.RESIZE_CONTENT = 1] = 'RESIZE_CONTENT';
  WebKeyboardAvoidMode[WebKeyboardAvoidMode.OVERLAYS_CONTENT = 2] = 'OVERLAYS_CONTENT';
  WebKeyboardAvoidMode[WebKeyboardAvoidMode.RETURN_TO_UICONTEXT = 3] = 'RETURN_TO_UICONTEXT';
})(WebKeyboardAvoidMode || (WebKeyboardAvoidMode = {}));

let ScrollDirectionalLockType;
(function (ScrollDirectionalLockType) {
  ScrollDirectionalLockType[ScrollDirectionalLockType.ALL = 0] = 'ALL';
  ScrollDirectionalLockType[ScrollDirectionalLockType.NESTED_SCROLL = 1] = 'NESTED_SCROLL';
})(ScrollDirectionalLockType || (ScrollDirectionalLockType = {}));

let KeyboardAppearance;
(function (KeyboardAppearance) {
  KeyboardAppearance[KeyboardAppearance.NONE_IMMERSIVE = 0] = 'NONE_IMMERSIVE';
  KeyboardAppearance[KeyboardAppearance.IMMERSIVE = 1] = 'IMMERSIVE';
  KeyboardAppearance[KeyboardAppearance.LIGHT_IMMERSIVE = 2] = 'LIGHT_IMMERSIVE';
  KeyboardAppearance[KeyboardAppearance.DARK_IMMERSIVE = 3] = 'DARK_IMMERSIVE';
})(KeyboardAppearance || (KeyboardAppearance = {}));

let WebKeyboardAppearanceMode;
(function (WebKeyboardAppearanceMode) {
  WebKeyboardAppearanceMode[WebKeyboardAppearanceMode.NONE_IMMERSIVE = 0] = 'NONE_IMMERSIVE';
  WebKeyboardAppearanceMode[WebKeyboardAppearanceMode.IMMERSIVE = 1] = 'IMMERSIVE';
  WebKeyboardAppearanceMode[WebKeyboardAppearanceMode.LIGHT_IMMERSIVE = 2] = 'LIGHT_IMMERSIVE';
  WebKeyboardAppearanceMode[WebKeyboardAppearanceMode.DARK_IMMERSIVE = 3] = 'DARK_IMMERSIVE';
})(WebKeyboardAppearanceMode || (WebKeyboardAppearanceMode = {}));

class SymbolEffect {
}

class ScaleSymbolEffect extends SymbolEffect {
  constructor(scope, direction) {
    super();
    this.type = 'ScaleSymbolEffect';
    this.scope = scope;
    this.direction = direction;
  }
  scope(value) {
    this.scope = value;
    return this;
  }
  direction(value) {
    this.direction = value;
    return this;
  }
}

class HierarchicalSymbolEffect extends SymbolEffect {
  constructor(fillStyle) {
    super();
    this.type = 'HierarchicalSymbolEffect';
    this.fillStyle = fillStyle;
  }
}

class AppearSymbolEffect extends SymbolEffect {
  constructor(scope) {
    super();
    this.type = 'AppearSymbolEffect';
    this.scope = scope;
  }
  scope(value) {
    this.scope = value;
    return this;
  }
}
class DisappearSymbolEffect extends SymbolEffect {
  constructor(scope) {
    super();
    this.type = 'DisappearSymbolEffect';
    this.scope = scope;
  }
  scope(value) {
    this.scope = value;
    return this;
  }
}

class BounceSymbolEffect extends SymbolEffect {
  constructor(scope, direction) {
    super();
    this.type = 'BounceSymbolEffect';
    this.scope = scope;
    this.direction = direction;
  }
  scope(value) {
    this.scope = value;
    return this;
  }
  direction(value) {
    this.direction = value;
    return this;
  }
}

class ReplaceSymbolEffect extends SymbolEffect {
  constructor(scope, replaceType) {
    super();
    this.type = 'ReplaceSymbolEffect';
    this.scope = scope;
    this.replaceType_ = replaceType;
    if (this.replaceType_ === 1) {
      this.type = 'QuickReplaceSymbolEffect';
    } else if (this.replaceType_ === 2) {
      this.type = 'DisableSymbolEffect';
    }
  }
  scope(value) {
    this.scope = value;
    return this;
  }

  set replaceType(value) {
    this.replaceType_ = value;
    this.type = 'ReplaceSymbolEffect';
    if (this.replaceType_ === 1) {
      this.type = 'QuickReplaceSymbolEffect';
    } else if (this.replaceType_ === 2) {
      this.type = 'DisableSymbolEffect';
    }
  }

  get replaceType() {
    return this.replaceType_;
  }
}

class PulseSymbolEffect extends SymbolEffect {
  constructor() {
    super();
    this.type = 'PulseSymbolEffect';
  }
}

class ContentTransition{
}

class NumericTextTransition extends ContentTransition {
  constructor(options) {
    super();
    this.type = 'NumericTextTransition';
    this.flipDirection = options.flipDirection;
    this.enableBlur = options.enableBlur;
  }
}

class ShaderStyle {
}

class RadialGradientStyle extends ShaderStyle {
  constructor(options) {
    super();
    this.type = 'RadialGradientStyle';
    this.options = options;
  }
  options(value) {
    this.options = value;
    return this;
  }
}

class LinearGradientStyle extends ShaderStyle {
  constructor(options) {
    super();
    this.type = 'LinearGradientStyle';
    this.options = options;
  }
  options(value) {
    this.options = value;
    return this;
  }
}

class ColorShaderStyle extends ShaderStyle {
  constructor(color) {
    super();
    this.type = 'ColorShaderStyle';
    this.color = color;
  }
  color(value) {
    this.color = value;
    return this;
  }
}

let RichEditorSpanType;
(function (RichEditorSpanType) {
  RichEditorSpanType[RichEditorSpanType.TEXT = 0] = 'TEXT';
  RichEditorSpanType[RichEditorSpanType.IMAGE = 1] = 'IMAGE';
  RichEditorSpanType[RichEditorSpanType.MIXED = 2] = 'MIXED';
  RichEditorSpanType[RichEditorSpanType.BUILDER = 3] = 'BUILDER';
  RichEditorSpanType[RichEditorSpanType.DEFAULT = 4] = 'DEFAULT';
})(RichEditorSpanType || (RichEditorSpanType = {}));

let ListItemAlign;
(function (ListItemAlign) {
  ListItemAlign[ListItemAlign.Start = 0] = 'Start';
  ListItemAlign[ListItemAlign.Center = 1] = 'Center';
  ListItemAlign[ListItemAlign.End = 2] = 'End';
})(ListItemAlign || (ListItemAlign = {}));

var BlurStyle;
(function (BlurStyle) {
  BlurStyle[BlurStyle.NoMaterial = 0] = 'NoMaterial';
  BlurStyle[BlurStyle.Thin = 1] = 'Thin';
  BlurStyle[BlurStyle.Regular = 2] = 'Regular';
  BlurStyle[BlurStyle.Thick = 3] = 'Thick';
  BlurStyle[BlurStyle.BackgroundThin = 4] = 'BackgroundThin';
  BlurStyle[BlurStyle.BackgroundRegular = 5] = 'BackgroundRegular';
  BlurStyle[BlurStyle.BackgroundThick = 6] = 'BackgroundThick';
  BlurStyle[BlurStyle.BackgroundUltraThick = 7] = 'BackgroundUltraThick';
  BlurStyle[BlurStyle.BACKGROUND_THIN = 4] = 'BACKGROUND_THIN';
  BlurStyle[BlurStyle.BACKGROUND_REGULAR = 5] = 'BACKGROUND_REGULAR';
  BlurStyle[BlurStyle.BACKGROUND_THICK = 6] = 'BACKGROUND_THICK';
  BlurStyle[BlurStyle.BACKGROUND_ULTRA_THICK = 7] = 'BACKGROUND_ULTRA_THICK';
  BlurStyle[BlurStyle.COMPONENT_ULTRA_THIN = 8] = 'COMPONENT_ULTRA_THIN';
  BlurStyle[BlurStyle.COMPONENT_THIN = 9] = 'COMPONENT_THIN';
  BlurStyle[BlurStyle.COMPONENT_REGULAR = 10] = 'COMPONENT_REGULAR';
  BlurStyle[BlurStyle.COMPONENT_THICK = 11] = 'COMPONENT_THICK';
  BlurStyle[BlurStyle.COMPONENT_ULTRA_THICK = 12] = 'COMPONENT_ULTRA_THICK';
  BlurStyle[BlurStyle.NONE = 0] = 'NONE';
})(BlurStyle || (BlurStyle = {}));

let BlurStyleActivePolicy;
(function (BlurStyleActivePolicy) {
  BlurStyleActivePolicy[BlurStyleActivePolicy.FOLLOWS_WINDOW_ACTIVE_STATE = 0] = 'FOLLOWS_WINDOW_ACTIVE_STATE';
  BlurStyleActivePolicy[BlurStyleActivePolicy.ALWAYS_ACTIVE = 1] = 'ALWAYS_ACTIVE';
  BlurStyleActivePolicy[BlurStyleActivePolicy.ALWAYS_INACTIVE = 2] = 'ALWAYS_INACTIVE';
})(BlurStyleActivePolicy || (BlurStyleActivePolicy = {}));

let BlurType;
(function (BlurType) {
  BlurType[BlurType.WITHIN_WINDOW = 0] = 'WITHIN_WINDOW';
  BlurType[BlurType.BEHIND_WINDOW = 1] = 'BEHIND_WINDOW';
})(BlurType || (BlurType = {}));

let EffectType;
(function (EffectType) {
  EffectType[EffectType.DEFAULT = 0] = 'DEFAULT';
  EffectType[EffectType.WINDOW_EFFECT = 1] = 'WINDOW_EFFECT';
})(EffectType || (EffectType = {}));

let ThemeColorMode;
(function (ThemeColorMode) {
  ThemeColorMode[ThemeColorMode.System = 0] = 'System';
  ThemeColorMode[ThemeColorMode.Light = 1] = 'Light';
  ThemeColorMode[ThemeColorMode.Dark = 2] = 'Dark';
  ThemeColorMode[ThemeColorMode.SYSTEM = 0] = 'SYSTEM';
  ThemeColorMode[ThemeColorMode.LIGHT = 1] = 'LIGHT';
  ThemeColorMode[ThemeColorMode.DARK = 2] = 'DARK';
})(ThemeColorMode || (ThemeColorMode = {}));

let AnchoredColorMode;
(function (AnchoredColorMode) {
  AnchoredColorMode[AnchoredColorMode.FOLLOW_SYSTEM = 0] = 'FOLLOW_SYSTEM';
  AnchoredColorMode[AnchoredColorMode.FOLLOW_TARGET = 1] = 'FOLLOW_TARGET';
})(AnchoredColorMode || (AnchoredColorMode = {}));

let AdaptiveColor;
(function (AdaptiveColor) {
  AdaptiveColor[AdaptiveColor.Default = 0] = 'Default';
  AdaptiveColor[AdaptiveColor.Average = 1] = 'Average';
  AdaptiveColor[AdaptiveColor.DEFAULT = 0] = 'DEFAULT';
  AdaptiveColor[AdaptiveColor.AVERAGE = 1] = 'AVERAGE';
})(AdaptiveColor || (AdaptiveColor = {}));

let ShadowStyle;
(function (ShadowStyle) {
  ShadowStyle[ShadowStyle.OuterDefaultXS = 0] = 'OuterDefaultXS';
  ShadowStyle[ShadowStyle.OuterDefaultSM = 1] = 'OuterDefaultSM';
  ShadowStyle[ShadowStyle.OuterDefaultMD = 2] = 'OuterDefaultMD';
  ShadowStyle[ShadowStyle.OuterDefaultLG = 3] = 'OuterDefaultLG';
  ShadowStyle[ShadowStyle.OuterFloatingSM = 4] = 'OuterFloatingSM';
  ShadowStyle[ShadowStyle.OuterFloatingMD = 5] = 'OuterFloatingMD';
  ShadowStyle[ShadowStyle.OUTER_DEFAULT_XS = 0] = 'OUTER_DEFAULT_XS';
  ShadowStyle[ShadowStyle.OUTER_DEFAULT_SM = 1] = 'OUTER_DEFAULT_SM';
  ShadowStyle[ShadowStyle.OUTER_DEFAULT_MD = 2] = 'OUTER_DEFAULT_MD';
  ShadowStyle[ShadowStyle.OUTER_DEFAULT_LG = 3] = 'OUTER_DEFAULT_LG';
  ShadowStyle[ShadowStyle.OUTER_FLOATING_SM = 4] = 'OUTER_FLOATING_SM';
  ShadowStyle[ShadowStyle.OUTER_FLOATING_MD = 5] = 'OUTER_FLOATING_MD';
})(ShadowStyle || (ShadowStyle = {}));

let UnionMode;
(function (UnionMode) {
  UnionMode[UnionMode.SMOOTH_UNION = 0] = 'SMOOTH_UNION';
  UnionMode[UnionMode.GRAVITY_UNION = 1] = 'GRAVITY_UNION';
})(UnionMode || (UnionMode = {}));

let ShadowType;
(function (ShadowType) {
  ShadowType[ShadowType.COLOR = 0] = 'COLOR';
  ShadowType[ShadowType.BLUR = 1] = 'BLUR';
})(ShadowType || (ShadowType = {}));

let BreakpointsReference;
(function (BreakpointsReference) {
  BreakpointsReference[BreakpointsReference.WindowSize = 0] = 'WindowSize';
  BreakpointsReference[BreakpointsReference.ComponentSize = 1] = 'ComponentSize';
})(BreakpointsReference || (BreakpointsReference = {}));

let GridRowDirection;
(function (GridRowDirection) {
  GridRowDirection[GridRowDirection.Row = 0] = 'Row';
  GridRowDirection[GridRowDirection.RowReverse = 1] = 'RowReverse';
})(GridRowDirection || (GridRowDirection = {}));

let HitTestMode;
(function (HitTestMode) {
  HitTestMode[HitTestMode.Default = 0] = 'Default';
  HitTestMode[HitTestMode.Block = 1] = 'Block';
  HitTestMode[HitTestMode.Transparent = 2] = 'Transparent';
  HitTestMode[HitTestMode.None = 3] = 'None';
  HitTestMode[HitTestMode.BLOCK_HIERARCHY = 4] = 'BLOCK_HIERARCHY';
  HitTestMode[HitTestMode.BLOCK_DESCENDANTS = 5] = 'BLOCK_DESCENDANTS';
})(HitTestMode || (HitTestMode = {}));

let GridDirection;
(function (GridDirection) {
  GridDirection[GridDirection.Row = 0] = 'Row';
  GridDirection[GridDirection.Column = 1] = 'Column';
  GridDirection[GridDirection.RowReverse = 2] = 'RowReverse';
  GridDirection[GridDirection.ColumnReverse = 3] = 'ColumnReverse';
})(GridDirection || (GridDirection = {}));

let SelectStatus;
(function (SelectStatus) {
  SelectStatus[SelectStatus.All = 0] = 'All';
  SelectStatus[SelectStatus.Part = 1] = 'Part';
  SelectStatus[SelectStatus.None = 2] = 'None';
})(SelectStatus || (SelectStatus = {}));

let ContextMenuSourceType;
(function (ContextMenuSourceType) {
  ContextMenuSourceType[ContextMenuSourceType.None = 0] = 'None';
  ContextMenuSourceType[ContextMenuSourceType.Mouse = 1] = 'Mouse';
  ContextMenuSourceType[ContextMenuSourceType.LongPress = 2] = 'LongPress';
})(ContextMenuSourceType || (ContextMenuSourceType = {}));

let ContextMenuMediaType;
(function (ContextMenuMediaType) {
  ContextMenuMediaType[ContextMenuMediaType.None = 0] = 'None';
  ContextMenuMediaType[ContextMenuMediaType.Image = 1] = 'Image';
})(ContextMenuMediaType || (ContextMenuMediaType = {}));

let ContextMenuDataMediaType;
(function (ContextMenuDataMediaType) {
  ContextMenuDataMediaType[ContextMenuDataMediaType.None = 0] = 'None';
  ContextMenuDataMediaType[ContextMenuDataMediaType.Image = 1] = 'Image';
  ContextMenuDataMediaType[ContextMenuDataMediaType.Video = 2] = 'Video';
  ContextMenuDataMediaType[ContextMenuDataMediaType.Audio = 3] = 'Audio';
  ContextMenuDataMediaType[ContextMenuDataMediaType.Canvas = 4] = 'Canvas';
})(ContextMenuDataMediaType || (ContextMenuDataMediaType = {}));

let ContextMenuInputFieldType;
(function (ContextMenuInputFieldType) {
  ContextMenuInputFieldType[ContextMenuInputFieldType.None = 0] = 'None';
  ContextMenuInputFieldType[ContextMenuInputFieldType.PlainText = 1] = 'PlainText';
  ContextMenuInputFieldType[ContextMenuInputFieldType.Password = 2] = 'Password';
  ContextMenuInputFieldType[ContextMenuInputFieldType.Number = 3] = 'Number';
  ContextMenuInputFieldType[ContextMenuInputFieldType.Telephone = 4] = 'Telephone';
  ContextMenuInputFieldType[ContextMenuInputFieldType.Other = 5] = 'Other';
})(ContextMenuInputFieldType || (ContextMenuInputFieldType = {}));

let ContextMenuEditStateFlags;
(function (ContextMenuEditStateFlags) {
  ContextMenuEditStateFlags[ContextMenuEditStateFlags.NONE = 0] = 'None';
  ContextMenuEditStateFlags[ContextMenuEditStateFlags.CAN_CUT = 1] = 'CAN_CUT';
  ContextMenuEditStateFlags[ContextMenuEditStateFlags.CAN_COPY = 2] = 'CAN_COPY';
  ContextMenuEditStateFlags[ContextMenuEditStateFlags.CAN_PASTE = 4] = 'CAN_PASTE';
  ContextMenuEditStateFlags[ContextMenuEditStateFlags.CAN_SELECT_ALL = 8] = 'CAN_SELECT_ALL';
})(ContextMenuEditStateFlags || (ContextMenuEditStateFlags = {}));

let TransitionEdge;
(function (TransitionEdge) {
  TransitionEdge.TOP = 0;
  TransitionEdge.BOTTOM = 1;
  TransitionEdge.START = 2;
  TransitionEdge.END = 3;
})(TransitionEdge || (TransitionEdge = {}));

let TouchTestStrategy;
(function (TouchTestStrategy) {
  TouchTestStrategy.DEFAULT = 0;
  TouchTestStrategy.FORWARD_COMPETITION = 1;
  TouchTestStrategy.FORWARD = 2;
})(TouchTestStrategy || (TouchTestStrategy = {}));

let ResponseRegionSupportedTool;
(function (ResponseRegionSupportedTool) {
  ResponseRegionSupportedTool.ALL = 0;
  ResponseRegionSupportedTool.FINGER = 1;
  ResponseRegionSupportedTool.PEN = 2;
  ResponseRegionSupportedTool.MOUSE = 3;
})(ResponseRegionSupportedTool || (ResponseRegionSupportedTool = {}));

let EffectLayer;
(function (EffectLayer) {
  EffectLayer.NONE = 0;
  EffectLayer.CHARGE_MOTION = 1;
  EffectLayer.CHARGE_TEXT = 2;
})(EffectLayer || (EffectLayer = {}));

let ModalTransition;
(function (ModalTransition) {
  ModalTransition[ModalTransition.Default = 0] = 'Default';
  ModalTransition[ModalTransition.None = 1] = 'None';
  ModalTransition[ModalTransition.Alpha = 2] = 'Alpha';
  ModalTransition[ModalTransition.DEFAULT = 0] = 'DEFAULT';
  ModalTransition[ModalTransition.NONE = 1] = 'NONE';
  ModalTransition[ModalTransition.ALPHA = 2] = 'ALPHA';
})(ModalTransition || (ModalTransition = {}));

let ModifierKey;
(function (ModifierKey) {
  ModifierKey[ModifierKey.CTRL = 0] = 'CTRL';
  ModifierKey[ModifierKey.SHIFT = 1] = 'SHIFT';
  ModifierKey[ModifierKey.ALT = 2] = 'ALT';
})(ModifierKey || (ModifierKey = {}));

let SheetSize;
(function (SheetSize) {
  SheetSize.MEDIUM = 'MEDIUM';
  SheetSize.LARGE = 'LARGE';
  SheetSize.FIT_CONTENT = 'FIT_CONTENT';
})(SheetSize || (SheetSize = {}));

let EdgeLightMode;
(function (EdgeLightMode) {
  EdgeLightMode[EdgeLightMode.EDGELIGHT_AUTO = 0] = 'EDGELIGHT_AUTO';
  EdgeLightMode[EdgeLightMode.EDGELIGHT_ENABLED = 1] = 'EDGELIGHT_ENABLED';
  EdgeLightMode[EdgeLightMode.EDGELIGHT_DISABLED = 2] = 'EDGELIGHT_DISABLED';
})(EdgeLightMode || (EdgeLightMode = {}));

let SheetType;
(function (SheetType) {
  SheetType[SheetType.BOTTOM = 0] = 'BOTTOM';
  SheetType[SheetType.CENTER = 1] = 'CENTER';
  SheetType[SheetType.POPUP = 2] = 'POPUP';
  SheetType[SheetType.SIDE = 3] = 'SIDE';
  SheetType[SheetType.CONTENT_COVER = 4] = 'CONTENT_COVER';
})(SheetType || (SheetType = {}));

let SheetMode;
(function (SheetMode) {
  SheetMode[SheetMode.OVERLAY = 0] = 'OVERLAY';
  SheetMode[SheetMode.EMBEDDED = 1] = 'EMBEDDED';
})(SheetMode || (SheetMode = {}));

let ScrollSizeMode ;
(function (ScrollSizeMode ) {
  ScrollSizeMode[ScrollSizeMode.FOLLOW_DETENT = 0] = 'FOLLOW_DETENT';
  ScrollSizeMode[ScrollSizeMode.CONTINUOUS = 1] = 'CONTINUOUS';
})(ScrollSizeMode || (ScrollSizeMode = {}));

let SheetKeyboardAvoidMode;
(function (SheetKeyboardAvoidMode) {
  SheetKeyboardAvoidMode[SheetKeyboardAvoidMode.NONE = 0] = 'NONE';
  SheetKeyboardAvoidMode[SheetKeyboardAvoidMode.TRANSLATE_AND_RESIZE = 1] = 'TRANSLATE_AND_RESIZE';
  SheetKeyboardAvoidMode[SheetKeyboardAvoidMode.RESIZE_ONLY = 2] = 'RESIZE_ONLY';
  SheetKeyboardAvoidMode[SheetKeyboardAvoidMode.TRANSLATE_AND_SCROLL = 3] = 'TRANSLATE_AND_SCROLL';
  SheetKeyboardAvoidMode[SheetKeyboardAvoidMode.POPUP_SHEET = 4] = 'POPUP_SHEET';
})(SheetKeyboardAvoidMode || (SheetKeyboardAvoidMode = {}));

let FunctionKey;
(function (FunctionKey) {
  FunctionKey[FunctionKey.ESC = 0] = 'ESC';
  FunctionKey[FunctionKey.F1 = 1] = 'F1';
  FunctionKey[FunctionKey.F2 = 2] = 'F2';
  FunctionKey[FunctionKey.F3 = 3] = 'F3';
  FunctionKey[FunctionKey.F4 = 4] = 'F4';
  FunctionKey[FunctionKey.F5 = 5] = 'F5';
  FunctionKey[FunctionKey.F6 = 6] = 'F6';
  FunctionKey[FunctionKey.F7 = 7] = 'F7';
  FunctionKey[FunctionKey.F8 = 8] = 'F8';
  FunctionKey[FunctionKey.F9 = 9] = 'F9';
  FunctionKey[FunctionKey.F10 = 10] = 'F10';
  FunctionKey[FunctionKey.F11 = 11] = 'F11';
  FunctionKey[FunctionKey.F12 = 12] = 'F12';
  FunctionKey[FunctionKey.TAB = 13] = 'TAB';
  FunctionKey[FunctionKey.DPAD_UP = 14] = 'DPAD_UP';
  FunctionKey[FunctionKey.DPAD_DOWN = 15] = 'DPAD_DOWN';
  FunctionKey[FunctionKey.DPAD_LEFT = 16] = 'DPAD_LEFT';
  FunctionKey[FunctionKey.DPAD_RIGHT = 17] = 'DPAD_RIGHT';
})(FunctionKey || (FunctionKey = {}));

let ContentType;
(function (ContentType) {
  ContentType[ContentType.USER_NAME = 0] = 'USER_NAME';
  ContentType[ContentType.PASSWORD = 1] = 'PASSWORD';
  ContentType[ContentType.NEW_PASSWORD = 2] = 'NEW_PASSWORD';
  ContentType[ContentType.FULL_STREET_ADDRESS = 3] = 'FULL_STREET_ADDRESS';
  ContentType[ContentType.HOUSE_NUMBER = 4] = 'HOUSE_NUMBER';
  ContentType[ContentType.DISTRICT_ADDRESS = 5] = 'DISTRICT_ADDRESS';
  ContentType[ContentType.CITY_ADDRESS = 6] = 'CITY_ADDRESS';
  ContentType[ContentType.PROVINCE_ADDRESS = 7] = 'PROVINCE_ADDRESS';
  ContentType[ContentType.COUNTRY_ADDRESS = 8] = 'COUNTRY_ADDRESS';
  ContentType[ContentType.PERSON_FULL_NAME = 9] = 'PERSON_FULL_NAME';
  ContentType[ContentType.PERSON_LAST_NAME = 10] = 'PERSON_LAST_NAME';
  ContentType[ContentType.PERSON_FIRST_NAME = 11] = 'PERSON_FIRST_NAME';
  ContentType[ContentType.PHONE_NUMBER = 12] = 'PHONE_NUMBER';
  ContentType[ContentType.PHONE_COUNTRY_CODE = 13] = 'PHONE_COUNTRY_CODE';
  ContentType[ContentType.FULL_PHONE_NUMBER = 14] = 'FULL_PHONE_NUMBER';
  ContentType[ContentType.EMAIL_ADDRESS = 15] = 'EMAIL_ADDRESS';
  ContentType[ContentType.BANK_CARD_NUMBER = 16] = 'BANK_CARD_NUMBER';
  ContentType[ContentType.ID_CARD_NUMBER = 17] = 'ID_CARD_NUMBER';
  ContentType[ContentType.PRECISE_TIME = 18] = 'PRECISE_TIME';
  ContentType[ContentType.HOUR_AND_MINUTE = 19] = 'HOUR_AND_MINUTE';
  ContentType[ContentType.DATE = 20] = 'DATE';
  ContentType[ContentType.MONTH = 21] = 'MONTH';
  ContentType[ContentType.YEAR = 22] = 'YEAR';
  ContentType[ContentType.NICKNAME = 23] = 'NICKNAME';
  ContentType[ContentType.DETAIL_INFO_WITHOUT_STREET = 24] = 'DETAIL_INFO_WITHOUT_STREET';
  ContentType[ContentType.FORMAT_ADDRESS = 25] = 'FORMAT_ADDRESS';
  ContentType[ContentType.PASSPORT_NUMBER = 26] = 'PASSPORT_NUMBER';
  ContentType[ContentType.VALIDITY = 27] = 'VALIDITY';
  ContentType[ContentType.ISSUE_AT = 28] = 'ISSUE_AT';
  ContentType[ContentType.ORGANIZATION = 29] = 'ORGANIZATION';
  ContentType[ContentType.TAX_ID = 30] = 'TAX_ID';
  ContentType[ContentType.ADDRESS_CITY_AND_STATE = 31] = 'ADDRESS_CITY_AND_STATE';
  ContentType[ContentType.FLIGHT_NUMBER = 32] = 'FLIGHT_NUMBER';
  ContentType[ContentType.LICENSE_NUMBER = 33] = 'LICENSE_NUMBER';
  ContentType[ContentType.LICENSE_FILE_NUMBER = 34] = 'LICENSE_FILE_NUMBER';
  ContentType[ContentType.LICENSE_PLATE = 35] = 'LICENSE_PLATE';
  ContentType[ContentType.ENGINE_NUMBER = 36] = 'ENGINE_NUMBER';
  ContentType[ContentType.LICENSE_CHASSIS_NUMBER = 37] = 'LICENSE_CHASSIS_NUMBER';
})(ContentType || (ContentType = {}));

let GestureJudgeResult;
(function (GestureJudgeResult) {
  GestureJudgeResult[GestureJudgeResult.CONTINUE = 0] = 'CONTINUE';
  GestureJudgeResult[GestureJudgeResult.REJECT = 1] = 'REJECT';
})(GestureJudgeResult || (GestureJudgeResult = {}));

let GestureControl;
(function (GestureControl) {
  let GestureType;
  (function (GestureType) {
    GestureType[GestureType.TAP_GESTURE = 0] = 'TAP_GESTURE';
    GestureType[GestureType.LONG_PRESS_GESTURE = 1] = 'LONG_PRESS_GESTURE';
    GestureType[GestureType.PAN_GESTURE = 2] = 'PAN_GESTURE';
    GestureType[GestureType.PINCH_GESTURE = 3] = 'PINCH_GESTURE';
    GestureType[GestureType.SWIPE_GESTURE = 4] = 'SWIPE_GESTURE';
    GestureType[GestureType.ROTATION_GESTURE = 5] = 'ROTATION_GESTURE';
    GestureType[GestureType.DRAG = 6] = 'DRAG';
    GestureType[GestureType.CLICK = 7] = 'CLICK';
    GestureType[GestureType.BOX_SELECT_GESTURE = 8] = 'BOX_SELECT_GESTURE';
    GestureType[GestureType.WEB_SCROLL_GESTURE = 9] = 'WEB_SCROLL_GESTURE';
    GestureType[GestureType.TEXT_FIELD_SELECT_GESTURE = 10] = 'TEXT_FIELD_SELECT_GESTURE';
    GestureType[GestureType.CONTEXT_MENU_HOVER_GESTURE = 11] = 'CONTEXT_MENU_HOVER_GESTURE';
  })(GestureType = GestureControl.GestureType || (GestureControl.GestureType = {}));
})(GestureControl || (GestureControl = {}));

let TransitionHierarchyStrategy;
(function (TransitionHierarchyStrategy) {
  TransitionHierarchyStrategy[TransitionHierarchyStrategy.NONE = 0] = 'NONE';
  TransitionHierarchyStrategy[TransitionHierarchyStrategy.ADAPTIVE = 1] = 'ADAPTIVE';
})(TransitionHierarchyStrategy || (TransitionHierarchyStrategy = {}));

let KeyboardAvoidMode;
(function (KeyboardAvoidMode) {
    KeyboardAvoidMode[KeyboardAvoidMode.DEFAULT = 0] = 'DEFAULT';
    KeyboardAvoidMode[KeyboardAvoidMode.NONE = 1] = 'NONE';
})(KeyboardAvoidMode || (KeyboardAvoidMode = {}));

let ScrollbarLayoutPolicy;
(function (ScrollbarLayoutPolicy) {
  ScrollbarLayoutPolicy[ScrollbarLayoutPolicy.CONTENT = 0] = 'CONTENT';
  ScrollbarLayoutPolicy[ScrollbarLayoutPolicy.SYSTEM = 1] = 'SYSTEM';
})(ScrollbarLayoutPolicy || (ScrollbarLayoutPolicy = {}));

class SubTabBarStyle {
  constructor(content) {
    this.type = 'SubTabBarStyle';
    this.content = content;
  }
  static of(content) {
    return new SubTabBarStyle(content);
  }
  indicator(arg) {
    this.indicator = arg;
    return this;
  }
  selectedMode(arg) {
    this.selectedMode = arg;
    return this;
  }
  board(arg) {
    this.board = arg;
    return this;
  }
  labelStyle(arg) {
    this.labelStyle = arg;
    return this;
  }
  padding(arg) {
    this.padding = arg;
    return this;
  }
  id(arg) {
    this.id = arg;
    return this;
  }
}

class DrawModifier {
  invalidate() { }
}

class ProgressMask {
  constructor(value, total, color) {
    this.type = 'ProgressMask';
    this.value = value;
    this.total = total;
    this.color = color;
  }

  updateProgress(arg) {
    this.value = arg;
    return this;
  }

  updateColor(arg) {
    this.color = arg;
    return this;
  }

  enableBreathingAnimation(arg) {
    this.breathe = arg;
    return this;
  }
}

class BottomTabBarStyle {
  constructor(icon, text) {
    this.type = 'BottomTabBarStyle';
    this.icon = icon;
    this.text = text;
  }
  static of(icon, text) {
    return new BottomTabBarStyle(icon, text);
  }
  padding(arg) {
    this.padding = arg;
    return this;
  }
  layoutMode(arg) {
    this.layoutMode = arg;
    return this;
  }
  verticalAlign(arg) {
    this.verticalAlign = arg;
    return this;
  }
  symmetricExtensible(arg) {
    this.symmetricExtensible = arg;
    return this;
  }
  labelStyle(arg) {
    this.labelStyle = arg;
    return this;
  }
  id(arg) {
    this.id = arg;
    return this;
  }
  iconStyle(arg) {
    this.iconStyle = arg;
    return this;
  }
}

class Indicator {
  top(value) {
    this.topValue = value;
    return this;
  }
  left(value) {
    this.leftValue = value;
    return this;
  }
  right(value) {
    this.rightValue = value;
    return this;
  }
  bottom(...args) {
    if (args.length === 1) {
      this.bottomValue = args[0];
      this.setIgnoreSizeValue = false;
    }
    if (args.length === 2) {
      this.bottomValue = args[0];
      this.ignoreSizeValue = args[1];
      this.setIgnoreSizeValue = true;
    }
    return this;
  }
  start(value) {
    this.startValue = value;
    return this;
  }
  end(value) {
    this.endValue = value;
    return this;
  }
  static dot() {
    return new DotIndicator();
  }
  static digit() {
    return new DigitIndicator();
  }
}

class DotIndicator extends Indicator {
  constructor() {
    super();
    this.type = 'DotIndicator';
  }
  itemWidth(value) {
    this.itemWidthValue = value;
    return this;
  }
  itemHeight(value) {
    this.itemHeightValue = value;
    return this;
  }
  selectedItemWidth(value) {
    this.selectedItemWidthValue = value;
    return this;
  }
  selectedItemHeight(value) {
    this.selectedItemHeightValue = value;
    return this;
  }
  mask(value) {
    this.maskValue = value;
    return this;
  }
  color(value) {
    this.colorValue = value;
    return this;
  }
  selectedColor(value) {
    this.selectedColorValue = value;
    return this;
  }
  maxDisplayCount(value) {
    this.maxDisplayCountValue = value;
    return this;
  }
  space(value) {
    this.spaceValue = value;
    return this;
  }
}

class DigitIndicator extends Indicator {
  constructor() {
    super();
    this.type = 'DigitIndicator';
  }
  fontColor(value) {
    this.fontColorValue = value;
    return this;
  }
  selectedFontColor(value) {
    this.selectedFontColorValue = value;
    return this;
  }
  digitFont(value) {
    this.digitFontValue = value;
    return this;
  }
  selectedDigitFont(value) {
    this.selectedDigitFontValue = value;
    return this;
  }
}

let TextHeightAdaptivePolicy;
(function (TextHeightAdaptivePolicy) {
  TextHeightAdaptivePolicy[TextHeightAdaptivePolicy.MAX_LINES_FIRST = 0] = 'MAX_LINES_FIRST';
  TextHeightAdaptivePolicy[TextHeightAdaptivePolicy.MIN_FONT_SIZE_FIRST = 1] = 'MIN_FONT_SIZE_FIRST';
  TextHeightAdaptivePolicy[TextHeightAdaptivePolicy.LAYOUT_CONSTRAINT_FIRST = 2] = 'LAYOUT_CONSTRAINT_FIRST';
})(TextHeightAdaptivePolicy || (TextHeightAdaptivePolicy = {}));

let IncrementalUpdatePolicy;
(function (IncrementalUpdatePolicy) {
  IncrementalUpdatePolicy[IncrementalUpdatePolicy.NONE = 0] = 'NONE';
  IncrementalUpdatePolicy[IncrementalUpdatePolicy.PARAGRAPH_CACHE = 1] = 'PARAGRAPH_CACHE';
})(IncrementalUpdatePolicy || (IncrementalUpdatePolicy = {}));

let ArrowPosition;
(function (ArrowPosition) {
  ArrowPosition[ArrowPosition.END = 0] = 'END';
  ArrowPosition[ArrowPosition.START = 1] = 'START';
})(ArrowPosition || (ArrowPosition = {}));

class TransitionEffect {
  type_ = '';
  effect_ = undefined;
  animation_ = undefined;
  // use successor_ to mark whether this is an instance of TransitionEffect
  successor_ = null;

  constructor(type, effect) {
    this.type_ = type;
    this.effect_ = effect;
  }

  static get IDENTITY() {
    return new TransitionEffect('identity', undefined);
  }
  static get OPACITY() {
    return new TransitionEffect('opacity', 0);
  }
  static get SLIDE() {
    return new TransitionEffect('asymmetric', {
      appear: new TransitionEffect('move', TransitionEdge.START),
      disappear: new TransitionEffect('move', TransitionEdge.END)
    });
  }
  static get SLIDE_SWITCH() {
    return new TransitionEffect('slideSwitch', undefined);
  }
  static translate(option) {
    return new TransitionEffect('translate', option);
  }
  static rotate(option) {
    return new TransitionEffect('rotate', option);
  }
  static scale(option) {
    return new TransitionEffect('scale', option);
  }
  static opacity(value) {
    return new TransitionEffect('opacity', value);
  }
  static move(edge) {
    return new TransitionEffect('move', edge);
  }
  static asymmetric(appearEffect, disappearEffect) {
    return new TransitionEffect('asymmetric', {
      appear: appearEffect,
      disappear: disappearEffect
    });
  }

  animation(option) {
    this.animation_ = option;
    return this;
  }
  combine(nextEffect) {
    if (nextEffect == null || nextEffect == undefined) {
      return this;
    }
    let lastEffect = this;
    while (lastEffect.successor_ != null) {
      lastEffect = lastEffect.successor_;
    }
    lastEffect.successor_ = nextEffect;
    return this;
  }
}

class ColorContent {
  colorContent_ = '';

  constructor(colorContent) {
    this.colorContent_ = colorContent;
  }

  static get ORIGIN() {
    return new ColorContent('ORIGIN');
  }
}

class ContentTransitionEffect {
  contentTransitionType_ = '';

  constructor(contentTransitionType) {
    this.contentTransitionType_ = contentTransitionType;
  }

  static get IDENTITY() {
    return new ContentTransitionEffect('IDENTITY');
  }

  static get OPACITY() {
    return new ContentTransitionEffect('OPACITY');
  }
}

class TextMenuItemId {
  id_ = '';

  constructor(id) {
    this.id_ = id;
  }

  static of(id) {
    return new TextMenuItemId(id);
  }

  equals(id) {
    return id.id_ === this.id_;
  }

  static get CUT() {
    return new TextMenuItemId('OH_DEFAULT_CUT');
  }

  static get COPY() {
    return new TextMenuItemId('OH_DEFAULT_COPY');
  }

  static get PASTE() {
    return new TextMenuItemId('OH_DEFAULT_PASTE');
  }

  static get SELECT_ALL() {
    return new TextMenuItemId('OH_DEFAULT_SELECT_ALL');
  }

  static get autoFill() {
    return new TextMenuItemId('OH_DEFAULT_AUTO_FILL');
  }

  static get passwordVault() {
    return new TextMenuItemId('OH_DEFAULT_PASSWORD_VAULT');
  }

  static get TRANSLATE() {
    return new TextMenuItemId('OH_DEFAULT_TRANSLATE');
  }

  static get SEARCH() {
    return new TextMenuItemId('OH_DEFAULT_SEARCH');
  }

  static get SHARE() {
    return new TextMenuItemId('OH_DEFAULT_SHARE');
  }

  static get COLLABORATION_SERVICE() {
    return new TextMenuItemId('OH_DEFAULT_COLLABORATION_SERVICE');
  }

  static get CAMERA_INPUT() {
    return new TextMenuItemId('OH_DEFAULT_CAMERA_INPUT');
  }

  static get AI_WRITER() {
    return new TextMenuItemId('OH_DEFAULT_AI_WRITE');
  }

  static get phoneNumber() {
    return new TextMenuItemId('OH_DEFAULT_AI_MENU_PHONE');
  }

  static get url() {
    return new TextMenuItemId('OH_DEFAULT_AI_MENU_URL');
  }

  static get email() {
    return new TextMenuItemId('OH_DEFAULT_AI_MENU_EMAIL');
  }

  static get address() {
    return new TextMenuItemId('OH_DEFAULT_AI_MENU_ADDRESS');
  }

  static get dateTime() {
    return new TextMenuItemId('OH_DEFAULT_AI_MENU_DATETIME');
  }

  static get askAI() {
    return new TextMenuItemId('OH_DEFAULT_ASK_CELIA');
  }

}

globalThis.TextMenuItemId = TextMenuItemId;

let SliderBlockType;
(function (SliderBlockType) {
  SliderBlockType[SliderBlockType.DEFAULT = 0] = 'DEFAULT';
  SliderBlockType[SliderBlockType.IMAGE = 1] = 'IMAGE';
  SliderBlockType[SliderBlockType.SHAPE = 2] = 'SHAPE';
})(SliderBlockType || (SliderBlockType = {}));

let SliderInteraction;
(function (SliderInteraction) {
  SliderInteraction[SliderInteraction.SLIDE_AND_CLICK = 0] = 'SLIDE_AND_CLICK';
  SliderInteraction[SliderInteraction.SLIDE_ONLY = 1] = 'SLIDE_ONLY';
  SliderInteraction[SliderInteraction.SLIDE_AND_CLICK_UP = 2] = 'SLIDE_AND_CLICK_UP';
})(SliderInteraction || (SliderInteraction = {}));

let TitleStyle;
(function (TitleStyle) {
  TitleStyle[TitleStyle.ListMode = 0] = 'ListMode';
  TitleStyle[TitleStyle.ContentMode = 1] = 'ContentMode';
})(TitleStyle || (TitleStyle = {}));

let OperationStyle;
(function (OperationStyle) {
  OperationStyle[OperationStyle.TextArrow = 0] = 'TextArrow';
  OperationStyle[OperationStyle.Button = 1] = 'Button';
  OperationStyle[OperationStyle.IconGroup = 2] = 'IconGroup';
})(OperationStyle || (OperationStyle = {}));

let TabItemType;
(function (TabItemType) {
  TabItemType[TabItemType.Text = 0] = 'Text';
  TabItemType[TabItemType.Icon = 1] = 'Icon';
})(TabItemType || (TabItemType = {}));

let EditableLeftIconType;
(function (EditableLeftIconType) {
  EditableLeftIconType[EditableLeftIconType.Back = 0] = 'Back';
  EditableLeftIconType[EditableLeftIconType.Cancel = 1] = 'Cancel';
})(EditableLeftIconType || (EditableLeftIconType = {}));

let ContentIconPosition;
(function (ContentIconPosition) {
  ContentIconPosition[ContentIconPosition.Top = 0] = 'Top';
  ContentIconPosition[ContentIconPosition.Center = 1] = 'Center';
})(ContentIconPosition || (ContentIconPosition = {}));

let ContentTextStyle;
(function (ContentTextStyle) {
  ContentTextStyle[ContentTextStyle.SingleLine = 0] = 'SingleLine';
  ContentTextStyle[ContentTextStyle.DoubleLine = 1] = 'DoubleLine';
  ContentTextStyle[ContentTextStyle.ThreeLines = 2] = 'ThreeLines';
})(ContentTextStyle || (ContentTextStyle = {}));

let MarqueeUpdateStrategy;
(function (MarqueeUpdateStrategy) {
  MarqueeUpdateStrategy.DEFAULT = 'default';
  MarqueeUpdateStrategy.PRESERVE_POSITION = 'preserve_position';
})(MarqueeUpdateStrategy || (MarqueeUpdateStrategy = {}));

let LaunchMode;
(function (LaunchMode) {
  LaunchMode[LaunchMode.STANDARD = 0] = 'STANDARD';
  LaunchMode[LaunchMode.MOVE_TO_TOP_SINGLETON = 1] = 'MOVE_TO_TOP_SINGLETON';
  LaunchMode[LaunchMode.POP_TO_SINGLETON = 2] = 'POP_TO_SINGLETON';
  LaunchMode[LaunchMode.NEW_INSTANCE = 3] = 'NEW_INSTANCE';
})(LaunchMode || (LaunchMode = {}));

class NavPathInfo {
  constructor(name, param, onPop, isEntry) {
    this.name = name;
    this.param = param;
    this.onPop = onPop;
    this.index = -1;
    this.needUpdate = false;
    this.needBuildNewInstance = false;
    this.navDestinationId = undefined;
    this.promise = undefined;
    this.replacedDestinationInfo = undefined;
    this.recoveryFromReplaceDestination = undefined;
    this.isEntry = isEntry;
    this.fromRecovery = false;
    this.mode = undefined;
    this.singletonMoved = false;
    this.isForceSet = undefined;
  }
}

class NavPathStack {
  constructor() {
    this.pathArray = [];
    // replace value 0: don't do anything;
    // 1: replace value and do replace animation;
    // 2: don't replace value but do replace animation
    this.isReplace = 0;
    this.type = this.constructor.name;
    // control all navigation transition animations.
    this.disableAllAnimation = false;
    // control a single navigation transition animation.
    this.animated = true;
    // native nav path stack, implement in cpp
    this.nativeStack = undefined;
    // parent stack
    this.parentStack = undefined;
    this.popArray = [];
    this.interception = undefined;
    this.hasSingletonMoved = false;
  }
  getPathStack() {
    return this.nativeStack?.getPathStack(this);
  }
  setPathStack(pathStack, animated) {
    this.nativeStack?.setPathStack(this, pathStack, animated);
  }
  updatePreTopInfo() {
    if (this.pathArray.length === undefined || this.pathArray.length === 0) {
        this.nativeStack.preTopInfo = undefined;
        return;
    }
    this.nativeStack.preTopInfo = this.pathArray[this.pathArray.length - 1];
  }
  isPushOperation() {
    const preTopInfo = this.nativeStack.preTopInfo;
    if (preTopInfo === undefined) {
        return true;
    }
    return this.pathArray.findIndex((info)=>{ // If the top of the previous stack exists, the next stack operation is push.
        return info === preTopInfo;
    }) !== -1;
  }
  getJsIndexFromNativeIndex(index) {
    for (let i = 0; i < this.pathArray.length; i++) {
      if (this.pathArray[i].index === index) {
        return i;
      }
    }
    return -1;
  }
  initNavPathIndex(pathName) {
    this.popArray = [];
    for (let i = 0; i < this.pathArray.length && i < pathName.length; i++) {
      if (pathName[i] === this.pathArray[i].name) {
        this.pathArray[i].index = i;
      }
    }
  }
  getAllPathIndex() {
    let array = this.pathArray.flatMap(element => element.index);
    return array;
  }
  findInPopArray(name) {
    for (let i = this.popArray.length - 1; i >= 0; i--) {
      if (name === this.popArray[i].name) {
        let info = this.popArray.splice(i, 1);
        return [info[0].index, info[0].navDestinationId];
      }
    }
    return [-1, undefined]; // add new navdestination
  }
  setNativeStack(stack) {
    this.nativeStack = stack;
  }
  getNativeStack() {
    return this.nativeStack;
  }
  setParent(parent) {
    this.parentStack = parent;
  }
  getParent() {
    return this.parentStack;
  }
  pushName(name, param) {
    let info = new NavPathInfo(name, param);
    [info.index, info.navDestinationId] = this.findInPopArray(name);
    this.pathArray.push(info);
    this.isReplace = 0;
    this.nativeStack?.onStateChanged();
  }
  push(info, animated) {
    this.pushPath(info, animated);
  }
  pushPathByName(name, param, onPop, animated) {
    let info = undefined;
    if (onPop === undefined || typeof onPop === 'boolean') {
      info = new NavPathInfo(name, param);
    } else {
      info = new NavPathInfo(name, param, onPop);
    }
    [info.index, info.navDestinationId] = this.findInPopArray(name);
    this.pathArray.push(info);
    this.isReplace = 0;
    if (typeof onPop === 'boolean') {
      this.animated = onPop;
    } else if (animated === undefined) {
      this.animated = true;
    } else {
      this.animated = animated;
    }
    this.nativeStack?.onStateChanged();
  }
  pushDestinationByName(name, param, onPop, animated) {
    let info = undefined;
    if (onPop === undefined || typeof onPop === 'boolean') {
      info = new NavPathInfo(name, param);
    } else {
      info = new NavPathInfo(name, param, onPop);
    }
    this.isReplace = 0;
    if (typeof onPop === 'boolean') {
      this.animated = onPop;
    } else if (animated === undefined) {
      this.animated = true;
    } else {
      this.animated = animated;
    }
    [info.index, info.navDestinationId] = this.findInPopArray(name);
    this.pathArray.push(info);
    this.nativeStack?.onStateChanged();
    return new Promise((resolve, reject) => {
      info.promise = (errorCode, errorMessage) => {
        if (errorCode === 0) {
          resolve(0);
          return;
        }
        reject({code: errorCode, message: errorMessage});
      };
    });
  }
  parseNavigationOptions(param) {
    let launchMode = LaunchMode.STANDARD;
    let animated = true;
    if (typeof param === 'boolean') {
      animated = param;
    } else if (param !== undefined && param !== null) {
      if (typeof param.animated === 'boolean') {
        animated = param.animated;
      }
      if (param.launchMode !== undefined && param.launchMode !== null) {
        launchMode = param.launchMode;
      }
    }
    return [launchMode, animated];
  }
  pushWithLaunchModeAndAnimated(info, launchMode, animated, createPromise) {
    if (launchMode === LaunchMode.MOVE_TO_TOP_SINGLETON || launchMode === LaunchMode.POP_TO_SINGLETON) {
      let index = this.pathArray.findIndex(element => element.name === info.name);
      if (index !== -1) {
        this.pathArray[index].param = info.param;
        this.pathArray[index].onPop = info.onPop;
        this.pathArray[index].needUpdate = true;
        this.pathArray[index].isEntry = info.isEntry;
        this.pathArray[index].singletonMoved = true;
        this.hasSingletonMoved = true;
        if (launchMode === LaunchMode.MOVE_TO_TOP_SINGLETON) {
          this.moveIndexToTop(index, animated);
        } else {
          this.innerPopToIndex(index, undefined, animated, false);
        }
        let promise = null;
        if (createPromise) {
          promise = new Promise((resolve, reject) => {
            resolve();
          });
        }
        return [true, promise];
      }
    }
    return [false, null];
  }
  checkPathValid(info) {
    return info !== undefined && info !== null;
  }
  pushPath(info, optionParam) {
    if (!this.checkPathValid(info)) {
      return;
    }
    // parseNavigationOptions
    let launchMode = LaunchMode.STANDARD;
    let animated = true;
    if (typeof optionParam === 'boolean') {
      animated = optionParam;
    } else if (optionParam !== undefined && optionParam !== null) {
      if (typeof optionParam.animated === 'boolean') {
        animated = optionParam.animated;
      }
      if (optionParam.launchMode !== undefined && optionParam.launchMode !== null) {
        launchMode = optionParam.launchMode;
      }
    }
    // pushWithLaunchModeAndAnimated
    let ret = false;
    if (launchMode === LaunchMode.MOVE_TO_TOP_SINGLETON || launchMode === LaunchMode.POP_TO_SINGLETON) {
      let index = this.pathArray.findIndex(element => element.name === info.name);
      if (index !== -1) {
        this.pathArray[index].param = info.param;
        this.pathArray[index].onPop = info.onPop;
        this.pathArray[index].needUpdate = true;
        this.pathArray[index].isEntry = info.isEntry;
        this.pathArray[index].singletonMoved = true;
        this.hasSingletonMoved = true;
        if (launchMode === LaunchMode.MOVE_TO_TOP_SINGLETON) {
          this.moveIndexToTop(index, animated);
        } else {
          this.innerPopToIndex(index, undefined, animated, false);
        }
        ret = true;
      }
    }
    if (ret) {
      return;
    }
    // find in pop array
    info.index = -1;
    info.navDestinationId = undefined;
    for (let i = this.popArray.length - 1; i >= 0; i--) {
      if (info.name === this.popArray[i].name) {
        let infoFind = this.popArray.splice(i, 1);
        info.index = infoFind[0].index;
        info.navDestinationId = infoFind[0].navDestinationId;
        break;
      }
    }
    if (launchMode === LaunchMode.NEW_INSTANCE) {
      info.needBuildNewInstance = true;
    }
    this.pathArray.push(info);
    this.isReplace = 0;
    this.animated = animated;
    this.nativeStack?.onStateChanged();
  }
  pushDestination(info, optionParam) {
    if (!this.checkPathValid(info)) {
      let paramErrMsg =
            'Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;' +
            ' 2. Incorrect parameter types; 3. Parameter verification failed.';
      return new Promise((resolve, reject) => {
        reject({ code: 401, message: paramErrMsg });
      });
    }
    let [launchMode, animated] = this.parseNavigationOptions(optionParam);
    let [ret, promiseRet] = this.pushWithLaunchModeAndAnimated(info, launchMode, animated, true);
    if (ret) {
      return promiseRet;
    }
    this.isReplace = 0;
    this.animated = animated;
    [info.index, info.navDestinationId] = this.findInPopArray(info.name);
    if (launchMode === LaunchMode.NEW_INSTANCE) {
      info.needBuildNewInstance = true;
    }
    this.pathArray.push(info);
    this.nativeStack?.onStateChanged();
    return new Promise((resolve, reject) => {
      info.promise = (errorCode, errorMessage) => {
        if (errorCode === 0) {
          resolve(0);
          return;
        }
        reject({code: errorCode, message: errorMessage});
      };
    });
  }
  doReplaceInner(info, optionParam, isReplaceDestination) {
    let [launchMode, animated] = this.parseNavigationOptions(optionParam);
    let index = -1;
    let needCreatePromiseWithLaunchMode = false;
    if (launchMode === LaunchMode.MOVE_TO_TOP_SINGLETON || launchMode === LaunchMode.POP_TO_SINGLETON) {
      index = this.pathArray.findIndex(element => element.name === info.name);
      if (index !== -1) {
        this.pathArray[index].param = info.param;
        this.pathArray[index].onPop = info.onPop;
        this.pathArray[index].index = -1;
        if (index !== this.pathArray.length - 1) {
          let targetInfo = this.pathArray.splice(index, 1);
          if (launchMode === LaunchMode.MOVE_TO_TOP_SINGLETON) {
            this.pathArray.pop();
          } else {
            this.pathArray.splice(index);
          }
          this.pathArray.push(targetInfo[0]);
        }
        if (isReplaceDestination) {
          needCreatePromiseWithLaunchMode = true;
        }
      }
    }
    if (index === -1) {
      if (this.pathArray.length !== 0) {
        let popInfo = this.pathArray.pop();
        if (isReplaceDestination) {
          info.replacedDestinationInfo = popInfo;
        }
      }
      this.pathArray.push(info);
      this.pathArray[this.pathArray.length - 1].index = -1;
    }
    this.isReplace = 1;
    this.animated = animated;
    this.nativeStack?.onStateChanged();
    if (needCreatePromiseWithLaunchMode) {
      return new Promise((resolve, reject) => {
        resolve();
      });
    }
    return undefined;
  }
  replacePath(info, optionParam) {
    if (info === undefined || info === null) {
      return;
    }
    let launchMode = LaunchMode.STANDARD;
    let animated = true;
    if (typeof optionParam === 'boolean') {
      animated = optionParam;
    } else if (optionParam !== undefined && optionParam !== null) {
      if (typeof optionParam.animated === 'boolean') {
        animated = optionParam.animated;
      }
      if (optionParam.launchMode !== undefined && optionParam.launchMode !== null) {
        launchMode = optionParam.launchMode;
      }
    }
    let index = -1;
    if (launchMode === LaunchMode.MOVE_TO_TOP_SINGLETON || launchMode === LaunchMode.POP_TO_SINGLETON) {
      index = this.pathArray.findIndex(element => element.name === info.name);
      if (index !== -1) {
        this.pathArray[index].param = info.param;
        this.pathArray[index].onPop = info.onPop;
        this.pathArray[index].index = -1;
        if (index !== this.pathArray.length - 1) {
          let targetInfo = this.pathArray.splice(index, 1);
          if (launchMode === LaunchMode.MOVE_TO_TOP_SINGLETON) {
            this.pathArray.pop();
          } else {
            this.pathArray.splice(index);
          }
          this.pathArray.push(targetInfo[0]);
        }
      }
    }
    if (index === -1) {
      if (this.pathArray.length !== 0) {
        this.pathArray.pop();
      }
      this.pathArray.push(info);
      this.pathArray[this.pathArray.length - 1].index = -1;
    }
    this.isReplace = 1;
    this.animated = animated;
    this.nativeStack?.onStateChanged();
  }
  replaceDestination(info, navigationOptions) {
    if (!this.checkPathValid(info)) {
      let paramErrMsg =
            'Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;' +
            ' 2. Incorrect parameter types; 3. Parameter verification failed.';
      return new Promise((resolve, reject) => {
        reject({ code: 401, message: paramErrMsg });
      });
    }
    let promiseWithLaunchMode = this.doReplaceInner(info, navigationOptions, true);
    if (promiseWithLaunchMode !== undefined) {
      return promiseWithLaunchMode;
    }
    return new Promise((resolve, reject) => {
      info.promise = (errorCode, errorMessage) => {
        if (errorCode === 0) {
          resolve(0);
          return;
        }
        reject({code: errorCode, message: errorMessage});
      };
    });
  }
  replacePathByName(name, param, animated) {
    if (this.pathArray.length !== 0) {
      this.pathArray.pop();
    }
    this.isReplace = 1;
    this.pathArray.push(new NavPathInfo(name, param));
    this.pathArray[this.pathArray.length - 1].index = -1;
    if (animated === undefined) {
      this.animated = true;
    } else {
      this.animated = animated;
    }
    this.nativeStack?.onStateChanged();
  }
  setIsReplace(value) {
    this.isReplace = value;
  }
  setAnimated(value) {
    this.animated = value;
  }
  pop(result, animated) {
    if (this.pathArray.length === 0) {
      return undefined;
    }
    let currentPathInfo = this.pathArray[this.pathArray.length - 1];
    let pathInfo = this.pathArray.pop();
    this.popArray.push(pathInfo);
    this.isReplace = 0;
    if (result !== undefined && typeof result !== 'boolean' && currentPathInfo.onPop !== undefined) {
      let popInfo = {
        info: currentPathInfo,
        result: result,
      };
      currentPathInfo.onPop(popInfo);
    }
    if (typeof result === 'boolean') {
      this.animated = result;
    } else if (animated === undefined) {
      this.animated = true;
    } else {
      this.animated = animated;
    }
    this.nativeStack?.onPopCallback(typeof result === 'boolean' ? undefined : result);
    this.nativeStack?.onStateChanged();
    return pathInfo;
  }
  popTo(name, animated) {
    popToName(name, animated);
  }
  popToName(name, result, animated) {
    let index = this.pathArray.findIndex(element => element.name === name);
    if (index === -1) {
      if (this.pathArray.length === 0) {
        return -1;
      }
      if (!this.nativeStack?.isHomeName(name)) {
        return -1;
      }
    }
    let currentPathInfo = this.pathArray[this.pathArray.length - 1];
    this.pathArray.splice(index + 1);
    this.isReplace = 0;
    if (result !== undefined && typeof result !== 'boolean' && currentPathInfo.onPop !== undefined) {
      let popInfo = {
        info: currentPathInfo,
        result: result,
      };
      currentPathInfo.onPop(popInfo);
    }
    if (typeof result === 'boolean') {
      this.animated = result;
    } else if (animated === undefined) {
      this.animated = true;
    } else {
      this.animated = animated;
    }
    this.nativeStack?.onPopCallback(typeof result === 'boolean' ? undefined : result);
    this.nativeStack?.onStateChanged();
    return index;
  }
  innerPopToIndex(index, result, animated, needFireOnResult) {
    if (index >= this.pathArray.length) {
      return;
    }
    let currentPathInfo = this.pathArray[this.pathArray.length - 1];
    this.pathArray.splice(index + 1);
    this.isReplace = 0;
    if (result !== undefined && typeof result !== 'boolean' && currentPathInfo.onPop !== undefined) {
      let popInfo = {
        info: currentPathInfo,
        result: result,
      };
      currentPathInfo.onPop(popInfo);
    }
    if (typeof result === 'boolean') {
      this.animated = result;
    } else if (animated === undefined) {
      this.animated = true;
    } else {
      this.animated = animated;
    }
    if (needFireOnResult) {
      this.nativeStack?.onPopCallback(typeof result === 'boolean' ? undefined : result);
    }
    this.nativeStack?.onStateChanged();
  }
  popToIndex(index, result, animated) {
    this.innerPopToIndex(index, result, animated, true);
  }
  moveToTop(name, animated) {
    let index = this.pathArray.findIndex(element => element.name === name);
    if (index === -1) {
      return -1;
    }
    let info = this.pathArray.splice(index, 1);
    this.pathArray.push(info[0]);
    this.isReplace = 0;
    if (animated === undefined) {
      this.animated = true;
    } else {
      this.animated = animated;
    }
    this.nativeStack?.onStateChanged();
    return index;
  }
  moveIndexToTop(index, animated) {
    if (index >= this.pathArray.length) {
      return;
    }
    let info = this.pathArray.splice(index, 1);
    this.pathArray.push(info[0]);
    this.isReplace = 0;
    if (animated === undefined) {
      this.animated = true;
    } else {
      this.animated = animated;
    }
    this.nativeStack?.onStateChanged();
  }
  clear(animated) {
    if (this.pathArray.length == 0) {
      return;
    }
    this.pathArray.splice(0);
    this.isReplace = 0;
    if (animated === undefined) {
      this.animated = true;
    } else {
      this.animated = animated;
    }
    this.nativeStack?.onStateChanged();
  }
  removeByIndexes(indexes) {
    if (!Array.isArray(indexes) || indexes.length === 0) {
      return 0;
    }
    let originLength = this.pathArray.length;
    this.pathArray = this.pathArray.filter((item, index) => {
      return item && !indexes.includes(index)
    });
    let cnt = originLength - this.pathArray.length;
    if (cnt > 0) {
      this.isReplace = 0;
      this.nativeStack?.onStateChanged();
    }
    return cnt;
  }
  removeByName(name) {
    let originLength = this.pathArray.length;
    this.pathArray = this.pathArray.filter(item => { return name !== item.name });
    let cnt = originLength - this.pathArray.length;
    if (cnt > 0) {
      this.isReplace = 0;
      this.nativeStack?.onStateChanged();
    }
    return cnt;
  }
  removeByNavDestinationId(navDestinationId) {
    let index = this.pathArray.findIndex(element => element.navDestinationId === navDestinationId);
    if (index === -1) {
      return false;
    }
    this.pathArray.splice(index, 1);
    this.isReplace = 0;
    this.nativeStack?.onStateChanged();
    return true;
  }
  removeIndex(index) {
    if (index >= this.pathArray.length) {
      return;
    }
    this.pathArray.splice(index, 1);
    this.isReplace = 0;
    this.nativeStack?.onStateChanged();
  }
  removeInvalidPage(index, name) {
    if (index >= this.pathArray.length || index < 0) {
      return;
    }
    if (this.pathArray[index].name !== name) {
      console.warn('[AceNavigation] cannot find info to remove: ', name);
      return;
    }
    if (this.pathArray[index].replacedDestinationInfo !== undefined) {
      this.pathArray[index] = this.pathArray[index].replacedDestinationInfo;
      this.pathArray[index].recoveryFromReplaceDestination = true;
      return;
    }
    this.pathArray.splice(index, 1);
  }
  getAllPathName() {
    let array = this.pathArray.flatMap(element => element.name);
    return array;
  }
  getParamByIndex(index) {
    let item = this.pathArray[index];
    if (item === undefined) {
      return undefined;
    }
    return item.param;
  }
  getParamByName(name) {
    let array = new Array();
    this.pathArray.forEach((element) => {
      if (element.name === name) {
        array.push(element.param);
      }
    });
    return array;
  }
  getIndexByName(name) {
    let array = new Array();
    this.pathArray.forEach((element, index) => {
      if (element.name === name) {
        array.push(index);
      }
    });
    return array;
  }
  getNameByIndex(index) {
    let item = this.pathArray[index];
    if (item === undefined) {
      return undefined;
    }
    return item.name;
  }
  getOnPopByIndex(index) {
    let item = this.pathArray[index];
    if (item === undefined) {
      return undefined;
    }
    return item.onPop;
  }
  size() {
    return this.pathArray.length;
  }
  disableAnimation(disableAnimation) {
    this.disableAllAnimation = disableAnimation;
  }
  setInterception(interception) {
    this.interception = interception;
  }
  getIsEntryByIndex(index) {
    let item = this.pathArray[index];
    if (item === undefined) {
      return false;
    }
    return item.isEntry;
  }
  setIsEntryByIndex(index, isEntry) {
    let item = this.pathArray[index];
    if (item === undefined) {
      return;
    }
    item.isEntry = isEntry;
  }
  // for inner use
  pushIntentNavDestination(name, param, needTransition) {
    if (typeof(name) !== 'string' || typeof(param) !== 'string') {
      return;
    }
    let paramObj = param === '' ? undefined : JSON.parse(param);
    let option = { launchMode: LaunchMode.MOVE_TO_TOP_SINGLETON, animated: needTransition };
    this.pushPath(new NavPathInfo(name, paramObj), option);
  }
  // for inner use
  getSerializedParamSafely(index) {
    if (typeof(index) !== 'number' || index < 0 || index >= this.pathArray.length) {
      return '';
    }
    try {
      let serializeCount = 0;
      const MAX_COUNT = 10000;
      const serializeFilter = (key, value) => {
        serializeCount++;
        if (serializeCount > MAX_COUNT) {
          console.warn('AceNavigation', 'too many iterations during serialize navigation param!');
          throw new Error('too many iterations');
        }
        return value;
      }
      return JSON.stringify(this.pathArray[index].param, serializeFilter);
    } catch (error) {
      return '';
    }
  }
}

globalThis.NavPathStack = NavPathStack;

class InteropNavPathStackModule {
  static pushPathCallback = undefined;
  static pushDestinationCallback = undefined;
  static pushPathByNameCallback = undefined;
  static pushDestinationByNameCallback = undefined;
  static replacePathCallback = undefined;
  static replaceDestinationCallback = undefined;
  static replacePathByNameCallback = undefined;
  static removeByIndexesCallback = undefined;
  static removeByNameCallback = undefined;
  static removeByNavDestinationIdCallback = undefined;
  static popCallback = undefined;
  static popToNameCallback = undefined;
  static popToIndexCallback = undefined;
  static moveToTopCallback = undefined;
  static moveIndexToTopCallback = undefined;
  static clearCallback = undefined;
  static getAllPathNameCallback = undefined;
  static getParamByNameCallback = undefined;
  static getIndexByNameCallback = undefined;
  static getParentCallback = undefined; // not impl yet
  static sizeCallback = undefined;
  static disableAnimationCallback = undefined;
  static setInterceptionCallback = undefined;
  static getPathStackCallback = undefined;
  static setPathStackCallback = undefined;
  static getParamByIndexCallback = undefined;
}

function registeNavPushPathCallback(pushPathCallback) {
  InteropNavPathStackModule.pushPathCallback = pushPathCallback;
}

function registeNavPushDestinationCallback(pushDestinationCallback) {
  InteropNavPathStackModule.pushDestinationCallback = pushDestinationCallback;
}

function registeNavPushPathByNameCallback(pushPathByNameCallback) {
  InteropNavPathStackModule.pushPathByNameCallback = pushPathByNameCallback;
}

function registeNavPushDestinationByNameCallback(pushDestinationByNameCallback) {
  InteropNavPathStackModule.pushDestinationByNameCallback = pushDestinationByNameCallback;
}

function registeNavReplacePathCallback(replacePathCallback) {
  InteropNavPathStackModule.replacePathCallback = replacePathCallback;
}

function registeNavReplaceDestinationCallback(replaceDestinationCallback) {
  InteropNavPathStackModule.replaceDestinationCallback = replaceDestinationCallback;
}

function registeNavReplacePathByNameCallback(replacePathByNameCallback) {
  InteropNavPathStackModule.replacePathByNameCallback = replacePathByNameCallback;
}

function registeNavRemoveByIndexesCallback(removeByIndexesCallback) {
  InteropNavPathStackModule.removeByIndexesCallback = removeByIndexesCallback;
}

function registeNavRemoveByNameCallback(removeByNameCallback) {
  InteropNavPathStackModule.removeByNameCallback = removeByNameCallback;
}

function registeNavRemoveByNavDestinationIdCallback(removeByNavDestinationIdCallback) {
  InteropNavPathStackModule.removeByNavDestinationIdCallback = removeByNavDestinationIdCallback;
}

function registeNavPopCallback(popCallback) {
  InteropNavPathStackModule.popCallback = popCallback;
}

function registeNavPopToNameCallback(popToNameCallback) {
  InteropNavPathStackModule.popToNameCallback = popToNameCallback;
}

function registeNavPopToIndexCallback(popToIndexCallback) {
  InteropNavPathStackModule.popToIndexCallback = popToIndexCallback;
}

function registeNavMoveToTopCallback(moveToTopCallback) {
  InteropNavPathStackModule.moveToTopCallback = moveToTopCallback;
}

function registeNavMoveIndexToTopCallback(moveIndexToTopCallback) {
  InteropNavPathStackModule.moveIndexToTopCallback = moveIndexToTopCallback;
}

function registeNavClearCallback(clearCallback) {
  InteropNavPathStackModule.clearCallback = clearCallback;
}

function registeNavGetAllPathNameCallback(getAllPathNameCallback) {
  InteropNavPathStackModule.getAllPathNameCallback = getAllPathNameCallback;
}

function registeNavGetParamByNameCallback(getParamByNameCallback) {
  InteropNavPathStackModule.getParamByNameCallback = getParamByNameCallback;
}

function registeNavGetIndexByNameCallback(getIndexByNameCallback) {
  InteropNavPathStackModule.getIndexByNameCallback = getIndexByNameCallback;
}

function registeNavGetParentCallback(getParentCallback) {
  InteropNavPathStackModule.getParentCallback = getParentCallback;
}

function registeNavSizeCallback(sizeCallback) {
  InteropNavPathStackModule.sizeCallback = sizeCallback;
}

function registeNavDisableAnimationCallback(disableAnimationCallback) {
  InteropNavPathStackModule.disableAnimationCallback = disableAnimationCallback;
}

function registeNavSetInterceptionCallback(setInterceptionCallback) {
  InteropNavPathStackModule.setInterceptionCallback = setInterceptionCallback;
}

function registeNavGetPathStackCallback(getPathStackCallback) {
  InteropNavPathStackModule.getPathStackCallback = getPathStackCallback;
}

function registeNavSetPathStackCallback(setPathStackCallback) {
  InteropNavPathStackModule.setPathStackCallback = setPathStackCallback;
}

function registeNavGetParamByIndexCallback(getParamByIndexCallback) {
  InteropNavPathStackModule.getParamByIndexCallback = getParamByIndexCallback;
}

class NavPathStackExtent extends NavPathStack {
  constructor() {
    super();
    this.staticStack = undefined;
  }
  // for native use
  setNativeStack(stack) {
    this.staticStack = stack;
  }
  getPathStack() {
    if (!InteropNavPathStackModule.getPathStackCallback) {
      console.warn('AceNavigation', 'invalid static getPathStackCallback');
      return [];
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return [];
    }
    return JSON.parse(InteropNavPathStackModule.getPathStackCallback(this.staticStack));
  }
  setPathStack(pathStack, animated) {
    if (!InteropNavPathStackModule.setPathStackCallback) {
      console.warn('AceNavigation', 'invalid static setPathStackCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.setPathStackCallback(this.staticStack, JSON.stringify(pathStack), animated);
  }
  getParent() {
    if (!InteropNavPathStackModule.getParentCallback) {
      console.warn('AceNavigation', 'invalid static getParentCallback');
      return undefined;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return undefined;
    }
    // need copy construct and return new NavPathStackExtend
    return JSON.parse(InteropNavPathStackModule.getParentCallback(this.staticStack));
  }
  pushPathByName(name, param, onPop, animated) {
    let realAnimated = animated;
    if (typeof onPop === 'boolean') {
      realAnimated = onPop;
    }
    if (!InteropNavPathStackModule.pushPathByNameCallback) {
      console.warn('AceNavigation', 'invalid static pushPathByNameCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.pushPathByNameCallback(this.staticStack, name, JSON.stringify(param), realAnimated);
  }
  pushDestinationByName(name, param, onPop, animated) {
    let realAnimated = animated;
    if (typeof onPop === 'boolean') {
      realAnimated = onPop;
    }
    if (!InteropNavPathStackModule.pushDestinationByNameCallback) {
      console.warn('AceNavigation', 'invalid static pushDestinationByNameCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.pushDestinationByNameCallback(this.staticStack, name, JSON.stringify(param), realAnimated);
  }
  pushPath(info, optionParam) {
    if (!this.checkPathValid(info)) {
      console.warn('AceNavigation', 'invalid input info');
      return;
    }
    if (!InteropNavPathStackModule.pushPathCallback) {
      console.warn('AceNavigation', 'invalid static pushPathCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.pushPathCallback(this.staticStack, JSON.stringify(info), optionParam);
  }
  pushDestination(info, optionParam) {
    if (!this.checkPathValid(info)) {
      console.warn('AceNavigation', 'invalid input info');
      return undefined;
    }
    if (!InteropNavPathStackModule.pushDestinationCallback) {
      console.warn('AceNavigation', 'invalid static pushDestinationCallback');
      return undefined;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return undefined;
    }
    return InteropNavPathStackModule.pushDestinationCallback(this.staticStack, JSON.stringify(info), optionParam);
  }
  replacePath(info, optionParam) {
    if (!this.checkPathValid(info)) {
      console.warn('AceNavigation', 'invalid input info');
      return;
    }
    if (!InteropNavPathStackModule.replacePathCallback) {
      console.warn('AceNavigation', 'invalid static replacePathCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.replacePathCallback(this.staticStack, JSON.stringify(info), optionParam);
  }
  replaceDestination(info, navigationOptions) {
    if (!this.checkPathValid(info)) {
      console.warn('AceNavigation', 'invalid input info');
      return undefined;
    }
    if (!InteropNavPathStackModule.replaceDestinationCallback) {
      console.warn('AceNavigation', 'invalid static replaceDestinationCallback');
      return undefined;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return undefined;
    }
    return InteropNavPathStackModule.replaceDestinationCallback(this.staticStack, JSON.stringify(info), navigationOptions);
  }
  replacePathByName(name, param, animated) {
    if (!InteropNavPathStackModule.replacePathByNameCallback) {
      console.warn('AceNavigation', 'invalid static replacePathByNameCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.replacePathByNameCallback(this.staticStack, name, JSON.stringify(param), animated);
  }
  pop(result, animated) {
    if (!InteropNavPathStackModule.popCallback) {
      console.warn('AceNavigation', 'invalid static popCallback');
      return undefined;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return undefined;
    }
    return InteropNavPathStackModule.popCallback(this.staticStack, animated);
  }
  popToName(name, result, animated) {
    if (!InteropNavPathStackModule.popToNameCallback) {
      console.warn('AceNavigation', 'invalid static popToNameCallback');
      return -1;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return -1;
    }
    return InteropNavPathStackModule.popToNameCallback(this.staticStack, name, result, animated);
  }
  popToIndex(index, result, animated) {
    if (!InteropNavPathStackModule.popToIndexCallback) {
      console.warn('AceNavigation', 'invalid static popToIndexCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.popToIndexCallback(this.staticStack, index, result, animated);
  }
  moveToTop(name, animated) {
    if (!InteropNavPathStackModule.moveToTopCallback) {
      console.warn('AceNavigation', 'invalid static moveToTopCallback');
      return -1;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return -1;
    }
    return InteropNavPathStackModule.moveToTopCallback(this.staticStack, name, animated);
  }
  moveIndexToTop(index, animated) {
    if (!InteropNavPathStackModule.moveIndexToTopCallback) {
      console.warn('AceNavigation', 'invalid static moveIndexToTopCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.moveIndexToTopCallback(this.staticStack, index, animated);
  }
  clear(animated) {
    if (!InteropNavPathStackModule.clearCallback) {
      console.warn('AceNavigation', 'invalid static clearCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.clearCallback(this.staticStack, animated);
  }
  removeByIndexes(indexes) {
    if (!InteropNavPathStackModule.removeByIndexesCallback) {
      console.warn('AceNavigation', 'invalid static removeByIndexesCallback');
      return 0;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return 0;
    }
    return InteropNavPathStackModule.removeByIndexesCallback(this.staticStack, indexes);
  }
  removeByName(name) {
    if (!InteropNavPathStackModule.removeByNameCallback) {
      console.warn('AceNavigation', 'invalid static removeByNameCallback');
      return -1;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return -1;
    }
    return InteropNavPathStackModule.removeByNameCallback(this.staticStack, name);
  }
  removeByNavDestinationId(navDestinationId) {
    if (!InteropNavPathStackModule.removeByNavDestinationIdCallback) {
      console.warn('AceNavigation', 'invalid static removeByNavDestinationIdCallback');
      return false;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return false;
    }
    return InteropNavPathStackModule.removeByNavDestinationIdCallback(this.staticStack, navDestinationId);
  }
  getAllPathName() {
    // if need interop?
    if (!InteropNavPathStackModule.getAllPathNameCallback) {
      console.warn('AceNavigation', 'invalid static getAllPathNameCallback');
      return [];
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return [];
    }
    let staticResult = InteropNavPathStackModule.getAllPathNameCallback(this.staticStack);
    return JSON.parse(staticResult);
  }
  getSerializedParamByIndexInner(index) {
    if (!InteropNavPathStackModule.getParamByIndexCallback) {
      console.warn('AceNavigation', 'invalid static getParamByIndexCallback');
      return '';
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return '';
    }
    return InteropNavPathStackModule.getParamByIndexCallback(this.staticStack, index);
  }

  getParamByIndex(index) {
    let serializedParam = this.getSerializedParamByIndexInner(index);
    if (serializedParam === '') {
      return undefined;
    }
    return JSON.parse(serializedParam);
  }
  getParamByName(name) {
    if (!InteropNavPathStackModule.getParamByNameCallback) {
      console.warn('AceNavigation', 'invalid static getParamByNameCallback');
      return undefined;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return undefined;
    }
    return JSON.parse(InteropNavPathStackModule.getParamByNameCallback(this.staticStack, name));
  }
  getIndexByName(name) {
    if (!InteropNavPathStackModule.getIndexByNameCallback) {
      console.warn('AceNavigation', 'invalid static getIndexByNameCallback');
      return [];
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return [];
    }
    return JSON.parse(InteropNavPathStackModule.getIndexByNameCallback(this.staticStack, name));
  }
  size() {
    if (!InteropNavPathStackModule.sizeCallback) {
      console.warn('AceNavigation', 'invalid static sizeCallback');
      return 0;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return 0;
    }
    return InteropNavPathStackModule.sizeCallback(this.staticStack);
  }
  disableAnimation(disableAnimation) {
    if (!InteropNavPathStackModule.disableAnimationCallback) {
      console.warn('AceNavigation', 'invalid static disableAnimationCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.disableAnimationCallback(this.staticStack, disableAnimation);
  }
  setInterception(interception) {
    // NOT-IMPL-YET
    if (!InteropNavPathStackModule.setInterceptionCallback) {
      console.warn('AceNavigation', 'invalid static setInterceptionCallback');
      return;
    }
    if (!this.staticStack) {
      console.warn('AceNavigation', 'invalid static stack');
      return;
    }
    InteropNavPathStackModule.setInterceptionCallback(this.staticStack, interception);
  }
}

globalThis.NavPathStackExtent = NavPathStackExtent;

class WaterFlowSections {
  constructor() {
    this.sectionArray = [];
    // native waterflow section, implement in cpp
    this.nativeSection = undefined;
    this.changeFlag = true;
  }

  setNativeSection(section) {
    UIUtilsImpl.instance().getTarget(this).nativeSection = section;
  }

  getNativeSection() {
    return UIUtilsImpl.instance().getTarget(this).nativeSection;
  }

  isNonNegativeInt32(input) {
    return Number.isSafeInteger(input) && input >= 0 && input <= 2147483647;
  }

  toArrayIndex(origin, limit) {
    // origin is truncated to an integer
    let result = Math.trunc(origin);
    if (result < 0) {
      // Negative index counts back from the end of the sectionArray.
      result += limit;
      // If origin < -sectionArray.length, 0 is used.
      if (result < 0) {
        result = 0;
      }
    } else if (result > limit) {
      result = limit;
    }
    return result;
  }

  // splice(start: number, deleteCount?: number, sections?: Array<SectionOptions>): boolean;
  splice(start, deleteCount, sections) {
    let oldLength = this.sectionArray.length;
    let paramCount = arguments.length;
    if (paramCount === 1) {
      this.sectionArray.splice(start);
    } else if (paramCount === 2) {
      this.sectionArray.splice(start, deleteCount);
    } else {
      const iterator = sections.values();
      for (const section of iterator) {
        if (!this.isNonNegativeInt32(section.itemsCount)) {
          return false;
        }
      }
      this.sectionArray.splice(start, deleteCount, ...sections);
    }

    let intStart = this.toArrayIndex(start, oldLength);
    let intDeleteCount = 0;
    if (paramCount === 1) {
      // If deleteCount is omitted, then all the sections from start to the end of the sectionArray will be deleted.
      intDeleteCount = oldLength - intStart;
    } else {
      intDeleteCount = Math.trunc(deleteCount);
      if (intDeleteCount > oldLength - intStart) {
        intDeleteCount = oldLength - intStart;
      }
    }
    intDeleteCount = intDeleteCount < 0 ? 0 : intDeleteCount;

    if (this.nativeSection) {
      this.nativeSection.onSectionChanged({ start: intStart, deleteCount: intDeleteCount, sections: sections ? sections : [], allSections: this.sectionArray });
    }
    this.changeFlag = !this.changeFlag;
    return true;
  }

  push(section) {
    if (!this.isNonNegativeInt32(section.itemsCount)) {
      return false;
    }
    let oldLength = this.sectionArray.length;
    this.sectionArray.push(section);
    if (this.nativeSection) {
      this.nativeSection.onSectionChanged({ start: oldLength, deleteCount: 0, sections: [section], allSections: this.sectionArray });
    }
    this.changeFlag = !this.changeFlag;
    return true;
  }

  update(sectionIndex, section) {
    if (!this.isNonNegativeInt32(section.itemsCount)) {
      return false;
    }
    let oldLength = this.sectionArray.length;
    this.sectionArray.splice(sectionIndex, 1, section);

    let intStart = this.toArrayIndex(sectionIndex, oldLength);
    if (this.nativeSection) {
      this.nativeSection.onSectionChanged({ start: intStart, deleteCount: 1, sections: [section], allSections: this.sectionArray });
    }
    this.changeFlag = !this.changeFlag;
    return true;
  }

  values() {
    return this.sectionArray;
  }

  length() {
    return this.sectionArray.length;
  }

  clearChanges() {

  }
}

let WaterFlowLayoutMode;
(function (WaterFlowLayoutMode) {
  WaterFlowLayoutMode[WaterFlowLayoutMode.ALWAYS_TOP_DOWN = 0] = 'ALWAYS_TOP_DOWN';
  WaterFlowLayoutMode[WaterFlowLayoutMode.SLIDING_WINDOW = 1] = 'SLIDING_WINDOW';
})(WaterFlowLayoutMode || (WaterFlowLayoutMode = {}));

class ChildrenMainSizeParamError extends Error {
  constructor(message, code) {
    super(message);
    this.code = code;
  }
}

class ChildrenMainSize {

  constructor(childDefaultSize) {
    if (this.isInvalid(childDefaultSize)) {
      throw new ChildrenMainSizeParamError('The parameter check failed.', '401');
    }
    this.defaultMainSize = childDefaultSize;
    this.sizeArray = [];
    this.nativeMainSize = undefined;
    this.changeFlag = true;
  }

  setNativeMainSize(value) {
    this.nativeMainSize = value;
  }

  getNativeMainSize() {
    return this.nativeMainSize;
  }

  set childDefaultSize(value) {
    if (this.isInvalid(value)) {
      throw new ChildrenMainSizeParamError('The parameter check failed.', '401');
    }
    this.defaultMainSize = value;
    if (this.nativeMainSize) {
      this.nativeMainSize.onDefaultSizeUpdate(value);
    }
  }

  get childDefaultSize() {
    return this.defaultMainSize;
  }

  // splice(start: number, deleteCount?: number, childrenSize?: Array<number>);
  splice(start, deleteCount, childrenSize) {
    let paramCount = arguments.length;
    if (this.isInvalid(start)) {
      throw new ChildrenMainSizeParamError('The parameter check failed.', '401');
    }
    let startValue = Math.trunc(start);
    let deleteCountValue = deleteCount && !(this.isInvalid(deleteCount)) ? Math.trunc(deleteCount) : 0;
    if (paramCount === 1) {
      this.sizeArray.splice(startValue);
      if (this.nativeMainSize) {
        this.nativeMainSize.onStateChanged({ start: startValue });
      }
    } else if (paramCount === 2) {
      this.sizeArray.splice(startValue, deleteCountValue);
      if (this.nativeMainSize) {
        this.nativeMainSize.onStateChanged({ start: startValue, deleteCount: deleteCountValue });
      }
    } else if (paramCount === 3) {
      let childrenSizeLength = childrenSize ? childrenSize.length : 0;
      if (childrenSizeLength === 0) {
        childrenSize = [];
      }
      for (let i = 0; i < childrenSizeLength; i++) {
        if (this.isInvalid(childrenSize[i])) {
          // -1: represent default size.
          childrenSize[i] = -1;
        }
      }
      while (startValue >= this.sizeArray.length) {
        this.sizeArray.push(-1);
      }
      this.sizeArray.splice(startValue, deleteCountValue, ...childrenSize);
      if (this.nativeMainSize) {
        this.nativeMainSize.onStateChanged({ start: startValue, deleteCount: deleteCountValue, childrenSize: childrenSize });
      }
    }
    this.changeFlag = !this.changeFlag;
  }

  update(index, childSize) {
    if (this.isInvalid(index)) {
      throw new ChildrenMainSizeParamError('The parameter check failed.', '401');
    } else if (this.isInvalid(childSize)) {
      // -1: represent default size.
      childSize = -1;
    }
    let startValue = Math.trunc(index);
    while (startValue >= this.sizeArray.length) {
      this.sizeArray.push(-1);
    }
    this.sizeArray.splice(startValue, 1, childSize);
    if (this.nativeMainSize) {
      this.nativeMainSize.onStateChanged({ start: startValue, deleteCount: 1, childrenSize: [childSize] });
    }
    this.changeFlag = !this.changeFlag;
  }

  isInvalid(input) {
    return !(Number.isFinite(input) && input >= 0);
  }

  clearChanges() {
    this.changeArray.splice(0);
  }
}

let ImageSpanAlignment;
(function (ImageSpanAlignment) {
  ImageSpanAlignment[ImageSpanAlignment.NONE = 0] = 'NONE';
  ImageSpanAlignment[ImageSpanAlignment.TOP = 1] = 'TOP';
  ImageSpanAlignment[ImageSpanAlignment.CENTER = 2] = 'CENTER';
  ImageSpanAlignment[ImageSpanAlignment.BOTTOM = 3] = 'BOTTOM';
  ImageSpanAlignment[ImageSpanAlignment.BASELINE = 4] = 'BASELINE';
  ImageSpanAlignment[ImageSpanAlignment.FOLLOW_PARAGRAPH = 5] = 'FOLLOW_PARAGRAPH';
})(ImageSpanAlignment || (ImageSpanAlignment = {}));

let MenuAlignType;
(function (MenuAlignType) {
  MenuAlignType[MenuAlignType.START = 0] = 'START';
  MenuAlignType[MenuAlignType.CENTER = 1] = 'CENTER';
  MenuAlignType[MenuAlignType.END = 2] = 'END';
})(MenuAlignType || (MenuAlignType = {}));

let AvoidanceMode;
(function (AvoidanceMode) {
  AvoidanceMode[AvoidanceMode.COVER_TARGET = 0] = 'COVER_TARGET';
  AvoidanceMode[AvoidanceMode.AVOID_AROUND_TARGET = 1] = 'AVOID_AROUND_TARGET';
})(AvoidanceMode || (AvoidanceMode = {}));

let MenuKeyboardAvoidMode;
(function (MenuKeyboardAvoidMode) {
  MenuKeyboardAvoidMode[MenuKeyboardAvoidMode.NONE = 0] = 'NONE';
  MenuKeyboardAvoidMode[MenuKeyboardAvoidMode.TRANSLATE_AND_RESIZE = 1] = 'TRANSLATE_AND_RESIZE';
})(MenuKeyboardAvoidMode || (MenuKeyboardAvoidMode = {}));

let MenuGridPosition;
(function (MenuGridPosition) {
  MenuGridPosition[MenuGridPosition.TOP = 0] = 'TOP';
  MenuGridPosition[MenuGridPosition.BOTTOM = 1] = 'BOTTOM';
})(MenuGridPosition || (MenuGridPosition = {}));

let ToolbarItemStatus;
(function (ToolbarItemStatus) {
  ToolbarItemStatus[ToolbarItemStatus.NORMAL = 0] = 'NORMAL';
  ToolbarItemStatus[ToolbarItemStatus.DISABLED = 1] = 'DISABLED';
  ToolbarItemStatus[ToolbarItemStatus.ACTIVE = 2] = 'ACTIVE';
})(ToolbarItemStatus || (ToolbarItemStatus = {}));

let SecurityComponentLayoutDirection;
(function (SecurityComponentLayoutDirection) {
  SecurityComponentLayoutDirection[SecurityComponentLayoutDirection.HORIZONTAL = 0] = 'HORIZONTAL';
  SecurityComponentLayoutDirection[SecurityComponentLayoutDirection.VERTICAL = 1] = 'VERTICAL';
})(SecurityComponentLayoutDirection || (SecurityComponentLayoutDirection = {}));

let SecurityComponentRoleType;
(function (SecurityComponentRoleType) {
  SecurityComponentRoleType[SecurityComponentRoleType.ROLE_NONE = 0] = 'ROLE_NONE';
  SecurityComponentRoleType[SecurityComponentRoleType.BUTTON = 1] = 'BUTTON';
})(SecurityComponentRoleType || (SecurityComponentRoleType = {}));

let LocationIconStyle;
(function (LocationIconStyle) {
  LocationIconStyle[LocationIconStyle.FULL_FILLED = 0] = 'FULL_FILLED';
  LocationIconStyle[LocationIconStyle.LINES = 1] = 'LINES';
})(LocationIconStyle || (LocationIconStyle = {}));

let LocationDescription;
(function (LocationDescription) {
  LocationDescription[LocationDescription.CURRENT_LOCATION = 0] = 'CURRENT_LOCATION';
  LocationDescription[LocationDescription.ADD_LOCATION = 1] = 'ADD_LOCATION';
  LocationDescription[LocationDescription.SELECT_LOCATION = 2] = 'SELECT_LOCATION';
  LocationDescription[LocationDescription.SHARE_LOCATION = 3] = 'SHARE_LOCATION';
  LocationDescription[LocationDescription.SEND_LOCATION = 4] = 'SEND_LOCATION';
  LocationDescription[LocationDescription.LOCATING = 5] = 'LOCATING';
  LocationDescription[LocationDescription.LOCATION = 6] = 'LOCATION';
  LocationDescription[LocationDescription.SEND_CURRENT_LOCATION = 7] = 'SEND_CURRENT_LOCATION';
  LocationDescription[LocationDescription.RELOCATION = 8] = 'RELOCATION';
  LocationDescription[LocationDescription.PUNCH_IN = 9] = 'PUNCH_IN';
  LocationDescription[LocationDescription.CURRENT_POSITION = 10] = 'CURRENT_POSITION';
})(LocationDescription || (LocationDescription = {}));

let LocationButtonOnClickResult;
(function (LocationButtonOnClickResult) {
  LocationButtonOnClickResult[LocationButtonOnClickResult.SUCCESS = 0] =
    'SUCCESS';
  LocationButtonOnClickResult[LocationButtonOnClickResult.TEMPORARY_AUTHORIZATION_FAILED = 1] =
    'TEMPORARY_AUTHORIZATION_FAILED ';
})(LocationButtonOnClickResult || (LocationButtonOnClickResult = {}));

let PasteIconStyle;
(function (PasteIconStyle) {
  PasteIconStyle[PasteIconStyle.LINES = 0] = 'LINES';
})(PasteIconStyle || (PasteIconStyle = {}));

let PasteDescription;
(function (PasteDescription) {
  PasteDescription[PasteDescription.PASTE = 0] = 'PASTE';
})(PasteDescription || (PasteDescription = {}));

let PasteButtonOnClickResult;
(function (PasteButtonOnClickResult) {
  PasteButtonOnClickResult[PasteButtonOnClickResult.SUCCESS = 0] =
    'SUCCESS';
  PasteButtonOnClickResult[PasteButtonOnClickResult.TEMPORARY_AUTHORIZATION_FAILED = 1] =
    'TEMPORARY_AUTHORIZATION_FAILED ';
})(PasteButtonOnClickResult || (PasteButtonOnClickResult = {}));

let SaveIconStyle;
(function (SaveIconStyle) {
  SaveIconStyle[SaveIconStyle.FULL_FILLED = 0] = 'FULL_FILLED';
  SaveIconStyle[SaveIconStyle.LINES = 1] = 'LINES';
  SaveIconStyle[SaveIconStyle.PICTURE = 2] = 'PICTURE';
})(SaveIconStyle || (SaveIconStyle = {}));

let SaveDescription;
(function (SaveDescription) {
  SaveDescription[SaveDescription.DOWNLOAD = 0] = 'DOWNLOAD';
  SaveDescription[SaveDescription.DOWNLOAD_FILE = 1] = 'DOWNLOAD_FILE';
  SaveDescription[SaveDescription.SAVE = 2] = 'SAVE';
  SaveDescription[SaveDescription.SAVE_IMAGE = 3] = 'SAVE_IMAGE';
  SaveDescription[SaveDescription.SAVE_FILE = 4] = 'SAVE_FILE';
  SaveDescription[SaveDescription.DOWNLOAD_AND_SHARE = 5] = 'DOWNLOAD_AND_SHARE';
  SaveDescription[SaveDescription.RECEIVE = 6] = 'RECEIVE';
  SaveDescription[SaveDescription.CONTINUE_TO_RECEIVE = 7] = 'CONTINUE_TO_RECEIVE';
  SaveDescription[SaveDescription.SAVE_TO_GALLERY = 8] = 'SAVE_TO_GALLERY';
  SaveDescription[SaveDescription.EXPORT_TO_GALLERY = 9] = 'EXPORT_TO_GALLERY';
  SaveDescription[SaveDescription.QUICK_SAVE_TO_GALLERY = 10] = 'QUICK_SAVE_TO_GALLERY';
  SaveDescription[SaveDescription.RESAVE_TO_GALLERY = 11] = 'RESAVE_TO_GALLERY';
  SaveDescription[SaveDescription.SAVE_ALL = 12] = 'SAVE_ALL';
})(SaveDescription || (SaveDescription = {}));

let SaveButtonTipPosition;
(function (SaveButtonTipPosition) {
  SaveButtonTipPosition[SaveButtonTipPosition.ABOVE_BOTTOM = 0] = 'ABOVE_BOTTOM';
  SaveButtonTipPosition[SaveButtonTipPosition.BELOW_TOP = 1] = 'BELOW_TOP';
})(SaveButtonTipPosition || (SaveButtonTipPosition = {}));

let SaveButtonOnClickResult;
(function (SaveButtonOnClickResult) {
  SaveButtonOnClickResult[SaveButtonOnClickResult.SUCCESS = 0] =
    'SUCCESS';
  SaveButtonOnClickResult[SaveButtonOnClickResult.TEMPORARY_AUTHORIZATION_FAILED = 1] =
    'TEMPORARY_AUTHORIZATION_FAILED ';
  SaveButtonOnClickResult[SaveButtonOnClickResult.CANCELED_BY_USER = 2] =
    'CANCELED_BY_USER';
})(SaveButtonOnClickResult || (SaveButtonOnClickResult = {}));

let ObscuredReasons;
(function (ObscuredReasons) {
  ObscuredReasons[ObscuredReasons.PLACEHOLDER = 0] = 'PLACEHOLDER';
})(ObscuredReasons || (ObscuredReasons = {}));

let ListItemStyle;
(function (ListItemStyle) {
  ListItemStyle[ListItemStyle.NONE = 0] = 'NONE';
  ListItemStyle[ListItemStyle.CARD = 1] = 'CARD';
})(ListItemStyle || (ListItemStyle = {}));

let GridItemStyle;
(function (GridItemStyle) {
  GridItemStyle[GridItemStyle.NONE = 0] = 'NONE';
  GridItemStyle[GridItemStyle.PLAIN = 1] = 'PLAIN';
})(GridItemStyle || (GridItemStyle = {}));

let ListItemGroupStyle;
(function (ListItemGroupStyle) {
  ListItemGroupStyle[ListItemGroupStyle.NONE = 0] = 'NONE';
  ListItemGroupStyle[ListItemGroupStyle.CARD = 1] = 'CARD';
})(ListItemGroupStyle || (ListItemGroupStyle = {}));

let ListItemGroupHeaderFooterStyle;
(function (ListItemGroupHeaderFooterStyle) {
  ListItemGroupHeaderFooterStyle[ListItemGroupHeaderFooterStyle.NONE = 0] = 'NONE';
  ListItemGroupHeaderFooterStyle[ListItemGroupHeaderFooterStyle.FLOATING = 1] = 'FLOATING';
})(ListItemGroupHeaderFooterStyle || (ListItemGroupHeaderFooterStyle = {}));

let ListItemGroupArea;
(function (ListItemGroupArea) {
  ListItemGroupArea[ListItemGroupArea.NONE = 0] = 'NONE';
  ListItemGroupArea[ListItemGroupArea.IN_LIST_ITEM_AREA = 1] = 'IN_LIST_ITEM_AREA';
  ListItemGroupArea[ListItemGroupArea.IN_HEADER_AREA = 2] = 'IN_HEADER_AREA';
  ListItemGroupArea[ListItemGroupArea.IN_FOOTER_AREA = 3] = 'IN_FOOTER_AREA';
})(ListItemGroupArea || (ListItemGroupArea = {}));

let DragResult;
(function (DragResult) {
  DragResult[DragResult.UNKNOWN = -1] = 'UNKNOWN';
  DragResult[DragResult.DRAG_SUCCESSFUL = 0] = 'DRAG_SUCCESSFUL';
  DragResult[DragResult.DRAG_FAILED = 1] = 'DRAG_FAILED';
  DragResult[DragResult.DRAG_CANCELED = 2] = 'DRAG_CANCELED';
  DragResult[DragResult.DROP_ENABLED = 3] = 'DROP_ENABLED';
  DragResult[DragResult.DROP_DISABLED = 4] = 'DROP_DISABLED';
})(DragResult || (DragResult = {}));

let XComponentType;
(function (XComponentType) {
  XComponentType[XComponentType.SURFACE = 0] = 'SURFACE';
  XComponentType[XComponentType.COMPONENT = 1] = 'COMPONENT';
  XComponentType[XComponentType.TEXTURE = 2] = 'TEXTURE';
  XComponentType[XComponentType.NODE = 3] = 'NODE';
})(XComponentType || (XComponentType = {}));

let NestedScrollMode;
(function (NestedScrollMode) {
  NestedScrollMode[NestedScrollMode.SELF_ONLY = 0] = 'SELF_ONLY';
  NestedScrollMode[NestedScrollMode.SELF_FIRST = 1] = 'SELF_FIRST';
  NestedScrollMode[NestedScrollMode.PARENT_FIRST = 2] = 'PARENT_FIRST';
  NestedScrollMode[NestedScrollMode.PARALLEL = 3] = 'PARALLEL';
})(NestedScrollMode || (NestedScrollMode = {}));

let IlluminatedType;
(function (IlluminatedType) {
  IlluminatedType[IlluminatedType.NONE = 0] = 'NONE';
  IlluminatedType[IlluminatedType.BORDER = 1] = 'BORDER';
  IlluminatedType[IlluminatedType.CONTENT = 2] = 'CONTENT';
  IlluminatedType[IlluminatedType.BORDER_CONTENT = 3] = 'BORDER_CONTENT';
  IlluminatedType[IlluminatedType.BLOOM_BORDER = 4] = 'BLOOM_BORDER';
  IlluminatedType[IlluminatedType.BLOOM_BORDER_CONTENT = 5] = 'BLOOM_BORDER_CONTENT';
})(IlluminatedType || (IlluminatedType = {}));

let ScrollAlign;
(function (ScrollAlign) {
  ScrollAlign[ScrollAlign.START = 0] = 'START';
  ScrollAlign[ScrollAlign.CENTER = 1] = 'CENTER';
  ScrollAlign[ScrollAlign.END = 2] = 'END';
  ScrollAlign[ScrollAlign.AUTO = 3] = 'AUTO';
})(ScrollAlign || (ScrollAlign = {}));

let SafeAreaType;
(function (SafeAreaType) {
  SafeAreaType[SafeAreaType.SYSTEM = 0] = 'SYSTEM';
  SafeAreaType[SafeAreaType.CUTOUT = 1] = 'CUTOUT';
  SafeAreaType[SafeAreaType.KEYBOARD = 2] = 'KEYBOARD';
})(SafeAreaType || (SafeAreaType = {}));

let SafeAreaEdge;
(function (SafeAreaEdge) {
  SafeAreaEdge[SafeAreaEdge.TOP = 0] = 'TOP';
  SafeAreaEdge[SafeAreaEdge.BOTTOM = 1] = 'BOTTOM';
  SafeAreaEdge[SafeAreaEdge.START = 2] = 'START';
  SafeAreaEdge[SafeAreaEdge.END = 3] = 'END';
})(SafeAreaEdge || (SafeAreaEdge = {}));

let LayoutSafeAreaType;
(function (LayoutSafeAreaType) {
  LayoutSafeAreaType[LayoutSafeAreaType.SYSTEM = 0] = 'SYSTEM';
  LayoutSafeAreaType[LayoutSafeAreaType.KEYBOARD = 1] = 'KEYBOARD';
  LayoutSafeAreaType[LayoutSafeAreaType.ALL = 2] = 'ALL';
})(LayoutSafeAreaType || (LayoutSafeAreaType = {}));

let LayoutSafeAreaEdge;
(function (LayoutSafeAreaEdge) {
  LayoutSafeAreaEdge[LayoutSafeAreaEdge.TOP = 0] = 'TOP';
  LayoutSafeAreaEdge[LayoutSafeAreaEdge.BOTTOM = 1] = 'BOTTOM';
  LayoutSafeAreaEdge[LayoutSafeAreaEdge.START = 2] = 'START';
  LayoutSafeAreaEdge[LayoutSafeAreaEdge.END = 3] = 'END';
  LayoutSafeAreaEdge[LayoutSafeAreaEdge.VERTICAL = 4] = 'VERTICAL';
  LayoutSafeAreaEdge[LayoutSafeAreaEdge.HORIZONTAL = 5] = 'HORIZONTAL';
  LayoutSafeAreaEdge[LayoutSafeAreaEdge.ALL = 6] = 'ALL';
})(LayoutSafeAreaEdge || (LayoutSafeAreaEdge = {}));

let RenderFit;
(function (RenderFit) {
  RenderFit[RenderFit.CENTER = 0] = 'CENTER';
  RenderFit[RenderFit.TOP = 1] = 'TOP';
  RenderFit[RenderFit.BOTTOM = 2] = 'BOTTOM';
  RenderFit[RenderFit.LEFT = 3] = 'LEFT';
  RenderFit[RenderFit.RIGHT = 4] = 'RIGHT';
  RenderFit[RenderFit.TOP_LEFT = 5] = 'TOP_LEFT';
  RenderFit[RenderFit.TOP_RIGHT = 6] = 'TOP_RIGHT';
  RenderFit[RenderFit.BOTTOM_LEFT = 7] = 'BOTTOM_LEFT';
  RenderFit[RenderFit.BOTTOM_RIGHT = 8] = 'BOTTOM_RIGHT';
  RenderFit[RenderFit.RESIZE_FILL = 9] = 'RESIZE_FILL';
  RenderFit[RenderFit.RESIZE_CONTAIN = 10] = 'RESIZE_CONTAIN';
  RenderFit[RenderFit.RESIZE_CONTAIN_TOP_LEFT = 11] = 'RESIZE_CONTAIN_TOP_LEFT';
  RenderFit[RenderFit.RESIZE_CONTAIN_BOTTOM_RIGHT = 12] = 'RESIZE_CONTAIN_BOTTOM_RIGHT';
  RenderFit[RenderFit.RESIZE_COVER = 13] = 'RESIZE_COVER';
  RenderFit[RenderFit.RESIZE_COVER_TOP_LEFT = 14] = 'RESIZE_COVER_TOP_LEFT';
  RenderFit[RenderFit.RESIZE_COVER_BOTTOM_RIGHT = 15] = 'RESIZE_COVER_BOTTOM_RIGHT';
})(RenderFit || (RenderFit = {}));

let WebCaptureMode;
(function (WebCaptureMode) {
  WebCaptureMode[WebCaptureMode.HOME_SCREEN = 0] = 'HOME_SCREEN';
})(WebCaptureMode || (WebCaptureMode = {}));

let CalendarAlign;
(function (CalendarAlign) {
  CalendarAlign[CalendarAlign.START = 0] = 'START';
  CalendarAlign[CalendarAlign.CENTER = 1] = 'CENTER';
  CalendarAlign[CalendarAlign.END = 2] = 'END';
})(CalendarAlign || (CalendarAlign = {}));

let DragBehavior;
(function (DragBehavior) {
  DragBehavior[DragBehavior.COPY = 0] = 'COPY';
  DragBehavior[DragBehavior.MOVE = 1] = 'MOVE';
})(DragBehavior || (DragBehavior = {}));

let DragAnimationType;
(function (DragAnimationType) {
  DragAnimationType[DragAnimationType.DEFAULT = 0] = 'DEFAULT';
  DragAnimationType[DragAnimationType.FOLLOW_HAND_MORPH = 1] = 'FOLLOW_HAND_MORPH';
})(DragAnimationType || (DragAnimationType = {}));

let PatternLockChallengeResult;
(function (PatternLockChallengeResult) {
  PatternLockChallengeResult[PatternLockChallengeResult.CORRECT = 1] = 'CORRECT';
  PatternLockChallengeResult[PatternLockChallengeResult.WRONG = 2] = 'WRONG';
})(PatternLockChallengeResult || (PatternLockChallengeResult = {}));

let DialogButtonDirection;
(function (DialogButtonDirection) {
  DialogButtonDirection[DialogButtonDirection.AUTO = 0] = 'AUTO';
  DialogButtonDirection[DialogButtonDirection.HORIZONTAL = 1] = 'HORIZONTAL';
  DialogButtonDirection[DialogButtonDirection.VERTICAL = 2] = 'VERTICAL';
})(DialogButtonDirection || (DialogButtonDirection = {}));

let ParticleType;
(function (ParticleType) {
  ParticleType[ParticleType.POINT = 0] = 'POINT';
  ParticleType[ParticleType.IMAGE = 1] = 'IMAGE';
})(ParticleType || (ParticleType = {}));

let ParticleEmitterShape;
(function (ParticleEmitterShape) {
  ParticleEmitterShape[ParticleEmitterShape.RECTANGLE = 0] = 'RECTANGLE';
  ParticleEmitterShape[ParticleEmitterShape.CIRCLE = 1] = 'CIRCLE';
  ParticleEmitterShape[ParticleEmitterShape.ELLIPSE = 2] = 'ELLIPSE';
  ParticleEmitterShape[ParticleEmitterShape.ANNULUS = 3] = 'ANNULUS';
})(ParticleEmitterShape || (ParticleEmitterShape = {}));

let DistributionType;
(function (DistributionType) {
  DistributionType[DistributionType.UNIFORM = 0] = 'UNIFORM';
  DistributionType[DistributionType.GAUSSIAN = 1] = 'GAUSSIAN';
})(DistributionType || (DistributionType = {}));

let ParticleUpdater;
(function (ParticleUpdater) {
  ParticleUpdater[ParticleUpdater.NONE = 0] = 'NONE';
  ParticleUpdater[ParticleUpdater.RANDOM = 1] = 'RANDOM';
  ParticleUpdater[ParticleUpdater.CURVE = 2] = 'CURVE';
})(ParticleUpdater || (ParticleUpdater = {}));

let DisturbanceFieldShape;
(function (DisturbanceFieldShape) {
  DisturbanceFieldShape[DisturbanceFieldShape.RECT = 0] = 'RECT';
  DisturbanceFieldShape[DisturbanceFieldShape.CIRCLE = 1] = 'CIRCLE';
  DisturbanceFieldShape[DisturbanceFieldShape.ELLIPSE = 2] = 'ELLIPSE';
})(DisturbanceFieldShape || (DisturbanceFieldShape = {}));

let SwiperNestedScrollMode;
(function (SwiperNestedScrollMode) {
  SwiperNestedScrollMode[SwiperNestedScrollMode.SELF_ONLY = 0] = 'SELF_ONLY';
  SwiperNestedScrollMode[SwiperNestedScrollMode.SELF_FIRST = 1] = 'SELF_FIRST';
})(SwiperNestedScrollMode || (SwiperNestedScrollMode = {}));

let TabsNestedScrollMode;
(function (TabsNestedScrollMode) {
  TabsNestedScrollMode[TabsNestedScrollMode.SELF_ONLY = 0] = 'SELF_ONLY';
  TabsNestedScrollMode[TabsNestedScrollMode.SELF_FIRST = 1] = 'SELF_FIRST';
})(TabsNestedScrollMode || (TabsNestedScrollMode = {}));

let PageFlipMode;
(function (PageFlipMode) {
  PageFlipMode[PageFlipMode.CONTINUOUS = 0] = 'CONTINUOUS';
  PageFlipMode[PageFlipMode.SINGLE = 1] = 'SINGLE';
})(PageFlipMode || (PageFlipMode = {}));

let CheckBoxStyle;
(function (CheckBoxStyle) {
  CheckBoxStyle.CIRCULAR_STYLE = 0;
  CheckBoxStyle.SQUARE_STYLE = 1;
})(CheckBoxStyle || (CheckBoxStyle = {}));

let ModelType;
(function (ModelType) {
  ModelType[ModelType.TEXTURE = 0] = 'TEXTURE';
  ModelType[ModelType.SURFACE = 1] = 'SURFACE';
})(ModelType || (ModelType = {}));

let ModelLightType;
(function (ModelLightType) {
  ModelLightType[ModelLightType.INVALID = 0] = 'INVALID';
  ModelLightType[ModelLightType.DIRECTIONAL = 1] = 'DIRECTIONAL';
  ModelLightType[ModelLightType.POINT = 2] = 'POINT';
  ModelLightType[ModelLightType.SPOT = 3] = 'SPOT';
})(ModelLightType || (ModelLightType = {}));

let ModelAnimationStates;
(function (ModelAnimationStates) {
  ModelAnimationStates[ModelAnimationStates.PLAY = 0] = 'PLAY';
  ModelAnimationStates[ModelAnimationStates.PAUSE = 1] = 'PAUSE';
  ModelAnimationStates[ModelAnimationStates.STOP = 2] = 'STOP';
})(ModelAnimationStates || (ModelAnimationStates = {}));

let SwipeActionState;
(function (SwipeActionState) {
  SwipeActionState[SwipeActionState.COLLAPSED = 0] = 'COLLAPSED';
  SwipeActionState[SwipeActionState.EXPANDED = 1] = 'EXPANDED';
  SwipeActionState[SwipeActionState.ACTIONING = 2] = 'ACTIONING';
})(SwipeActionState || (SwipeActionState = {}));

let CheckBoxShape;
(function (CheckBoxShape) {
  CheckBoxShape.CIRCLE = 0;
  CheckBoxShape.ROUNDED_SQUARE = 1;
})(CheckBoxShape || (CheckBoxShape = {}));

let FinishCallbackType;
(function (FinishCallbackType) {
  FinishCallbackType.REMOVED = 0;
  FinishCallbackType.LOGICALLY = 1;
})(FinishCallbackType || (FinishCallbackType = {}));

let WebLayoutMode;
(function (WebLayoutMode) {
  WebLayoutMode[WebLayoutMode.NONE = 0] = 'NONE';
  WebLayoutMode[WebLayoutMode.FIT_CONTENT = 1] = 'FIT_CONTENT';
})(WebLayoutMode || (WebLayoutMode = {}));

let OptionWidthMode;
(function (OptionWidthMode) {
  OptionWidthMode.FIT_CONTENT = 'fit_content';
  OptionWidthMode.FIT_TRIGGER = 'fit_trigger';
})(OptionWidthMode || (OptionWidthMode = {}));

let ArrowPointPosition;
(function (ArrowPointPosition) {
  ArrowPointPosition.START = 'Start';
  ArrowPointPosition.CENTER = 'Center';
  ArrowPointPosition.END = 'End';
})(ArrowPointPosition || (ArrowPointPosition = {}));

let DragPreviewMode;
(function (DragPreviewMode) {
  DragPreviewMode.AUTO = 1;
  DragPreviewMode.DISABLE_SCALE = 2;
  DragPreviewMode.ENABLE_DEFAULT_SHADOW = 3;
  DragPreviewMode.ENABLE_DEFAULT_RADIUS = 4;
  DragPreviewMode.ENABLE_DRAG_ITEM_GRAY_EFFECT = 5;
  DragPreviewMode.ENABLE_MULTI_TILE_EFFECT = 6;
  DragPreviewMode.ENABLE_TOUCH_POINT_CALCULATION_BASED_ON_FINAL_PREVIEW = 7;
})(DragPreviewMode || (DragPreviewMode = {}));

let DraggingSizeChangeEffect;
(function (DraggingSizeChangeEffect) {
    DraggingSizeChangeEffect.DEFAULT = 0;
    DraggingSizeChangeEffect.SIZE_TRANSITION = 1;
    DraggingSizeChangeEffect.SIZE_CONTENT_TRANSITION = 2;
})(DraggingSizeChangeEffect || (DraggingSizeChangeEffect = {}));

let FoldStatus;
(function (FoldStatus) {
  FoldStatus[FoldStatus.FOLD_STATUS_UNKNOWN = 0] = 'FOLD_STATUS_UNKNOWN';
  FoldStatus[FoldStatus.FOLD_STATUS_EXPANDED = 1] = 'FOLD_STATUS_EXPANDED';
  FoldStatus[FoldStatus.FOLD_STATUS_FOLDED = 2] = 'FOLD_STATUS_FOLDED';
  FoldStatus[FoldStatus.FOLD_STATUS_HALF_FOLDED = 3] = 'FOLD_STATUS_HALF_FOLDED';
})(FoldStatus || (FoldStatus = {}));

let EmbeddedType;
(function (EmbeddedType) {
  EmbeddedType[EmbeddedType.EMBEDDED_UI_EXTENSION = 0] = 'EMBEDDED_UI_EXTENSION';
})(EmbeddedType || (EmbeddedType = {}));

let OutlineStyle;
(function (OutlineStyle) {
  OutlineStyle[OutlineStyle.SOLID = 0] = 'SOLID';
  OutlineStyle[OutlineStyle.DASHED = 1] = 'DASHED';
  OutlineStyle[OutlineStyle.DOTTED = 2] = 'DOTTED';
})(OutlineStyle || (OutlineStyle = {}));

let ButtonStyleMode;
(function (ButtonStyleMode) {
  ButtonStyleMode.NORMAL = 0;
  ButtonStyleMode.EMPHASIZED = 1;
  ButtonStyleMode.TEXTUAL = 2;
})(ButtonStyleMode || (ButtonStyleMode = {}));

let RadioIndicatorType;
(function (RadioIndicatorType) {
  RadioIndicatorType[RadioIndicatorType.TICK = 0] = 'TICK';
  RadioIndicatorType[RadioIndicatorType.DOT = 1] = 'DOT';
  RadioIndicatorType[RadioIndicatorType.CUSTOM = 2] = 'CUSTOM';
})(RadioIndicatorType  || (RadioIndicatorType  = {}));

let ControlSize;
(function (ControlSize) {
  ControlSize[ControlSize.SMALL = 0] = 'SMALL';
  ControlSize[ControlSize.NORMAL = 1] = 'NORMAL';
})(ControlSize || (ControlSize = {}));

let ImageAnalyzerType;
(function (ImageAnalyzerType) {
  ImageAnalyzerType[ImageAnalyzerType.SUBJECT = 0] = 'SUBJECT';
  ImageAnalyzerType[ImageAnalyzerType.TEXT = 1] = 'TEXT';
  ImageAnalyzerType[ImageAnalyzerType.OBJECT_LOOKUP = 2] = 'OBJECT_LOOKUP';
})(ImageAnalyzerType || (ImageAnalyzerType = {}));

let DividerMode;
(function (DividerMode) {
  DividerMode[DividerMode.FLOATING_ABOVE_MENU = 0] = 'FLOATING_ABOVE_MENU';
  DividerMode[DividerMode.EMBEDDED_IN_MENU = 1] = 'EMBEDDED_IN_MENU';
})(DividerMode || (DividerMode = {}));

function wrapBuilder(builder) {
  return new WrappedBuilder(builder);
}

class WrappedBuilder {
  constructor(builder) {
    this.builder = builder;
  }
}

function mutableBuilder(builder) {
  return new MutableBuilder(builder);
}

class MutableBuilder {
  constructor(builder) {
    this.builder = builder;
  }
  // Only for internal toolchain usage.
  _dispatchBuilder(builder, ...args) {
    this.mutableBuilderImpl.bind(this)(builder, ...args);
  }
}

let TextSpanType;
(function (TextSpanType) {
  TextSpanType[TextSpanType.TEXT = 0] = 'TEXT';
  TextSpanType[TextSpanType.IMAGE = 1] = 'IMAGE';
  TextSpanType[TextSpanType.MIXED = 2] = 'MIXED';
  TextSpanType[TextSpanType.DEFAULT = 3] = 'DEFAULT';
})(TextSpanType || (TextSpanType = {}));

let TextResponseType;
(function (TextResponseType) {
  TextResponseType[TextResponseType.RIGHT_CLICK = 0] = 'RIGHT_CLICK';
  TextResponseType[TextResponseType.LONG_PRESS = 1] = 'LONG_PRESS';
  TextResponseType[TextResponseType.SELECT = 2] = 'SELECT';
  TextResponseType[TextResponseType.DEFAULT = 3] = 'DEFAULT';
})(TextResponseType || (TextResponseType = {}));

let MarqueeState;
(function (MarqueeState) {
  MarqueeState[MarqueeState.START = 0] = 'START';
  MarqueeState[MarqueeState.BOUNCE = 1] = 'BOUNCE';
  MarqueeState[MarqueeState.FINISH = 2] = 'FINISH';
})(MarqueeState || (MarqueeState = {}));

let MarqueeStartPolicy;
(function (MarqueeStartPolicy) {
  MarqueeStartPolicy[MarqueeStartPolicy.DEFAULT = 0] = 'DEFAULT';
  MarqueeStartPolicy[MarqueeStartPolicy.ON_FOCUS = 1] = 'ON_FOCUS';
})(MarqueeStartPolicy || (MarqueeStartPolicy = {}));

let MarqueeUpdatePolicy;
(function (MarqueeUpdatePolicy) {
  MarqueeUpdatePolicy[MarqueeUpdatePolicy.DEFAULT = 0] = 'DEFAULT';
  MarqueeUpdatePolicy[MarqueeUpdatePolicy.PRESERVE_POSITION = 1] = 'PRESERVE_POSITION';
})(MarqueeUpdatePolicy || (MarqueeUpdatePolicy = {}));

let NativeEmbedStatus;
(function (NativeEmbedStatus) {
  NativeEmbedStatus.CREATE = 0;
  NativeEmbedStatus.UPDATE = 1;
  NativeEmbedStatus.DESTROY = 2;
  NativeEmbedStatus.ENTER_BFCACHE = 3;
  NativeEmbedStatus.LEAVE_BFCACHE = 4;
  NativeEmbedStatus.VISIBLE = 5;
  NativeEmbedStatus.HIDDEN = 6;
})(NativeEmbedStatus || (NativeEmbedStatus = {}));

let RenderMode;
(function (RenderMode) {
  RenderMode.ASYNC_RENDER = 0;
  RenderMode.SYNC_RENDER = 1;
})(RenderMode || (RenderMode = {}));

let ButtonRole;
(function (ButtonRole) {
  ButtonRole.NORMAL = 0;
  ButtonRole.ERROR = 1;
})(ButtonRole || (ButtonRole = {}));

let MenuPolicy;
(function (MenuPolicy) {
  MenuPolicy.DEFAULT = 0;
  MenuPolicy.HIDE = 1;
  MenuPolicy.SHOW = 2;
})(MenuPolicy || (MenuPolicy = {}));

let PreDragStatus;
(function (PreDragStatus) {
  PreDragStatus.ACTION_DETECTING_STATUS = 0;
  PreDragStatus.READY_TO_TRIGGER_DRAG_ACTION = 1;
  PreDragStatus.PREVIEW_LIFT_STARTED = 2;
  PreDragStatus.PREVIEW_LIFT_FINISHED = 3;
  PreDragStatus.PREVIEW_LANDING_STARTED = 4;
  PreDragStatus.PREVIEW_LANDING_FINISHED = 5;
  PreDragStatus.ACTION_CANCELED_BEFORE_DRAG = 6;
  PreDragStatus.PREPARING_FOR_DRAG_DETECTION = 7;
})(PreDragStatus || (PreDragStatus = {}));

let DragStartRequestStatus;
(function (DragStartRequestStatus) {
  DragStartRequestStatus.WAITING = 0;
  DragStartRequestStatus.READY = 1;
})(DragStartRequestStatus || (DragStartRequestStatus = {}));

let DataOperationType;
(function (DataOperationType) {
  DataOperationType.ADD = 'add';
  DataOperationType.DELETE = 'delete';
  DataOperationType.CHANGE = 'change';
  DataOperationType.MOVE = 'move';
  DataOperationType.EXCHANGE = 'exchange';
  DataOperationType.RELOAD = 'reload';
})(DataOperationType || (DataOperationType = {}));

let StyledStringKey;
(function (StyledStringKey) {
  StyledStringKey[StyledStringKey.FONT = 0] = 'FONT';
  StyledStringKey[StyledStringKey.DECORATION = 1] = 'DECORATION';
  StyledStringKey[StyledStringKey.BASELINE_OFFSET = 2] = 'BASELINE_OFFSET';
  StyledStringKey[StyledStringKey.LETTER_SPACING = 3] = 'LETTER_SPACING';
  StyledStringKey[StyledStringKey.TEXT_SHADOW = 4] = 'TEXT_SHADOW';
  StyledStringKey[StyledStringKey.LINE_HEIGHT = 5] = 'LINE_HEIGHT';
  StyledStringKey[StyledStringKey.PARAGRAPH_STYLE = 200] = 'PARAGRAPH_STYLE';
  StyledStringKey[StyledStringKey.BACKGROUND_COLOR = 6] = 'BACKGROUND_COLOR';
  StyledStringKey[StyledStringKey.URL = 7] = 'URL';
  StyledStringKey[StyledStringKey.LINE_SPACING = 8] = 'LINE_SPACING';
  StyledStringKey[StyledStringKey.GESTURE = 100] = 'GESTURE';
  StyledStringKey[StyledStringKey.IMAGE = 300] = 'IMAGE';
  StyledStringKey[StyledStringKey.CUSTOM_SPAN = 400] = 'CUSTOM_SPAN';
  StyledStringKey[StyledStringKey.USER_DATA = 500] = 'USER_DATA';
})(StyledStringKey || (StyledStringKey = {}));

// ColorPlaceholder enum declaration synchronized with units.d.ts as a pure string enum.
// Using a simple object literal avoids generating numeric reverse mappings.
const ColorPlaceholder = {
  NONE: 'NONE',
  SURFACE: 'SURFACE',
  SURFACE_CONTRAST: 'SURFACE_CONTRAST',
  TEXT_CONTRAST: 'TEXT_CONTRAST',
  ACCENT: 'ACCENT',
  FOREGROUND: 'FOREGROUND',
};

class CustomSpan extends NativeCustomSpan {
  type_ = 'CustomSpan';
}

class UserDataSpan {
  type_ = 'ExtSpan';
}

class LeadingMarginSpan extends NativeLeadingMarginSpan {
  type_ = 'LeadingMarginSpan';
}

let TextDirection;
(function (TextDirection) {
  TextDirection[TextDirection.LTR = 0] = 'LTR';
  TextDirection[TextDirection.RTL = 1] = 'RTL';
  TextDirection[TextDirection.DEFAULT = 2] = 'DEFAULT';
  TextDirection[TextDirection.AUTO = 3] = 'AUTO';
})(TextDirection || (TextDirection = {}));

let FocusPriority;
(function (FocusPriority) {
  FocusPriority[FocusPriority.AUTO = 0] = 'AUTO';
  FocusPriority[FocusPriority.PRIOR = 2000] = 'PRIOR';
  FocusPriority[FocusPriority.PREVIOUS = 3000] = 'PREVIOUS';
})(FocusPriority || (FocusPriority = {}));

let SubMenuExpandingMode;
(function (SubMenuExpandingMode) {
  SubMenuExpandingMode[SubMenuExpandingMode.SIDE_EXPAND = 0] = 'SIDE';
  SubMenuExpandingMode[SubMenuExpandingMode.EMBEDDED_EXPAND = 1] = 'EMBEDDED';
  SubMenuExpandingMode[SubMenuExpandingMode.STACK_EXPAND = 2] = 'STACK';
})(SubMenuExpandingMode || (SubMenuExpandingMode = {}));

let ViewportFit;
(function (ViewportFit) {
  ViewportFit[ViewportFit.AUTO = 0] = 'AUTO';
  ViewportFit[ViewportFit.CONTAINS = 1] = 'CONTAINS';
  ViewportFit[ViewportFit.COVER = 2] = 'COVER';
})(ViewportFit || (ViewportFit = {}));

let TextDeleteDirection;
(function (TextDeleteDirection) {
    TextDeleteDirection[TextDeleteDirection.BACKWARD = 0] = 'BACKWARD';
    TextDeleteDirection[TextDeleteDirection.FORWARD = 1] = 'FORWARD';
})(TextDeleteDirection || (TextDeleteDirection = {}));

let SuperscriptStyle;
(function (SuperscriptStyle) {
  SuperscriptStyle[SuperscriptStyle.NORMAL = 0] = 'NORMAL';
  SuperscriptStyle[SuperscriptStyle.SUPERSCRIPT = 1] = 'SUPERSCRIPT';
  SuperscriptStyle[SuperscriptStyle.SUBSCRIPT = 2] = 'SUBSCRIPT';
})(SuperscriptStyle || (SuperscriptStyle = {}));

let GestureRecognizerState;
(function (GestureRecognizerState) {
  GestureRecognizerState[GestureRecognizerState.READY = 0] = 'READY';
  GestureRecognizerState[GestureRecognizerState.DETECTING = 1] = 'DETECTING';
  GestureRecognizerState[GestureRecognizerState.PENDING = 2] = 'PENDING';
  GestureRecognizerState[GestureRecognizerState.BLOCKED = 3] = 'BLOCKED';
  GestureRecognizerState[GestureRecognizerState.SUCCESSFUL = 4] = 'SUCCESSFUL';
  GestureRecognizerState[GestureRecognizerState.FAILED = 5] = 'FAILED';
})(GestureRecognizerState || (GestureRecognizerState = {}));

let GridItemAlignment;
(function (GridItemAlignment) {
  GridItemAlignment[GridItemAlignment.DEFAULT = 0] = 'DEFAULT';
  GridItemAlignment[GridItemAlignment.STRETCH = 1] = 'STRETCH';
})(GridItemAlignment || (GridItemAlignment = {}));

let DepthSpaceType;
(function (DepthSpaceType) {
  DepthSpaceType[DepthSpaceType.INSTANCE = 0] = 'INSTANCE';
  DepthSpaceType[DepthSpaceType.GLOBAL = 1] = 'GLOBAL';
})(DepthSpaceType || (DepthSpaceType = {}));

let ContentClipMode;
(function (ContentClipMode) {
  ContentClipMode[ContentClipMode.CONTENT_ONLY = 0] = 'CONTENT_ONLY';
  ContentClipMode[ContentClipMode.BOUNDARY = 1] = 'BOUNDARY';
  ContentClipMode[ContentClipMode.SAFE_AREA = 2] = 'SAFE_AREA';
})(ContentClipMode || (ContentClipMode = {}));

let AccessibilityHoverType;
(function (AccessibilityHoverType) {
  AccessibilityHoverType[AccessibilityHoverType.HOVER_ENTER = 0] = 'HOVER_ENTER';
  AccessibilityHoverType[AccessibilityHoverType.HOVER_MOVE = 1] = 'HOVER_MOVE';
  AccessibilityHoverType[AccessibilityHoverType.HOVER_EXIT = 2] = 'HOVER_EXIT';
  AccessibilityHoverType[AccessibilityHoverType.HOVER_CANCEL = 3] = 'HOVER_CANCEL';
})(AccessibilityHoverType || (AccessibilityHoverType = {}));

let AccessibilityRoleType;
(function (AccessibilityRoleType) {
  AccessibilityRoleType[AccessibilityRoleType.ACTION_SHEET = 0] = "ACTION_SHEET";
  AccessibilityRoleType[AccessibilityRoleType.ALERT_DIALOG = 1] = "ALERT_DIALOG";
  AccessibilityRoleType[AccessibilityRoleType.INDEXER_COMPONENT = 2] = "INDEXER_COMPONENT";
  AccessibilityRoleType[AccessibilityRoleType.BADGE_COMPONENT = 3] = "BADGE_COMPONENT";
  AccessibilityRoleType[AccessibilityRoleType.BLANK = 4] = "BLANK";
  AccessibilityRoleType[AccessibilityRoleType.BUTTON = 5] = "BUTTON";
  AccessibilityRoleType[AccessibilityRoleType.BACK_BUTTON = 6] = "BACK_BUTTON";
  AccessibilityRoleType[AccessibilityRoleType.SHEET_DRAG_BAR = 7] = "SHEET_DRAG_BAR";
  AccessibilityRoleType[AccessibilityRoleType.CALENDAR_PICKER = 8] = "CALENDAR_PICKER";
  AccessibilityRoleType[AccessibilityRoleType.CALENDAR = 9] = "CALENDAR";
  AccessibilityRoleType[AccessibilityRoleType.CANVAS = 10] = "CANVAS";
  AccessibilityRoleType[AccessibilityRoleType.CANVAS_GRADIENT = 11] = "CANVAS_GRADIENT";
  AccessibilityRoleType[AccessibilityRoleType.CANVAS_PATTERN = 12] = "CANVAS_PATTERN";
  AccessibilityRoleType[AccessibilityRoleType.CHECKBOX = 13] = "CHECKBOX";
  AccessibilityRoleType[AccessibilityRoleType.CHECKBOX_GROUP = 14] = "CHECKBOX_GROUP";
  AccessibilityRoleType[AccessibilityRoleType.CIRCLE = 15] = "CIRCLE";
  AccessibilityRoleType[AccessibilityRoleType.COLUMN_SPLIT = 16] = "COLUMN_SPLIT";
  AccessibilityRoleType[AccessibilityRoleType.COLUMN = 17] = "COLUMN";
  AccessibilityRoleType[AccessibilityRoleType.CANVAS_RENDERING_CONTEXT_2D = 18] = "CANVAS_RENDERING_CONTEXT_2D";
  AccessibilityRoleType[AccessibilityRoleType.CHART = 19] = "CHART";
  AccessibilityRoleType[AccessibilityRoleType.COUNTER = 20] = "COUNTER";
  AccessibilityRoleType[AccessibilityRoleType.CONTAINER_MODAL = 21] = "CONTAINER_MODAL";
  AccessibilityRoleType[AccessibilityRoleType.DATA_PANEL = 22] = "DATA_PANEL";
  AccessibilityRoleType[AccessibilityRoleType.DATE_PICKER = 23] = "DATE_PICKER";
  AccessibilityRoleType[AccessibilityRoleType.DIALOG = 24] = "DIALOG";
  AccessibilityRoleType[AccessibilityRoleType.DIVIDER = 25] = "DIVIDER";
  AccessibilityRoleType[AccessibilityRoleType.DRAG_BAR = 26] = "DRAG_BAR";
  AccessibilityRoleType[AccessibilityRoleType.EFFECT_COMPONENT = 27] = "EFFECT_COMPONENT";
  AccessibilityRoleType[AccessibilityRoleType.ELLIPSE = 28] = "ELLIPSE";
  AccessibilityRoleType[AccessibilityRoleType.FLEX = 29] = "FLEX";
  AccessibilityRoleType[AccessibilityRoleType.FLOW_ITEM = 30] = "FLOW_ITEM";
  AccessibilityRoleType[AccessibilityRoleType.FORM_COMPONENT = 31] = "FORM_COMPONENT";
  AccessibilityRoleType[AccessibilityRoleType.FORM_LINK = 32] = "FORM_LINK";
  AccessibilityRoleType[AccessibilityRoleType.GAUGE = 33] = "GAUGE";
  AccessibilityRoleType[AccessibilityRoleType.GRID = 34] = "GRID";
  AccessibilityRoleType[AccessibilityRoleType.GRID_COL = 35] = "GRID_COL";
  AccessibilityRoleType[AccessibilityRoleType.GRID_CONTAINER = 36] = "GRID_CONTAINER";
  AccessibilityRoleType[AccessibilityRoleType.GRID_ITEM = 37] = "GRID_ITEM";
  AccessibilityRoleType[AccessibilityRoleType.GRID_ROW = 38] = "GRID_ROW";
  AccessibilityRoleType[AccessibilityRoleType.HYPERLINK = 39] = "HYPERLINK";
  AccessibilityRoleType[AccessibilityRoleType.IMAGE = 40] = "IMAGE";
  AccessibilityRoleType[AccessibilityRoleType.IMAGE_ANIMATOR = 41] = "IMAGE_ANIMATOR";
  AccessibilityRoleType[AccessibilityRoleType.IMAGE_BITMAP = 42] = "ROLE_IMAGE_BITMAP";
  AccessibilityRoleType[AccessibilityRoleType.IMAGE_DATA = 43] = "IMAGE_DATA";
  AccessibilityRoleType[AccessibilityRoleType.IMAGE_SPAN = 44] = "IMAGE_SPAN";
  AccessibilityRoleType[AccessibilityRoleType.LABEL = 45] = "LABEL";
  AccessibilityRoleType[AccessibilityRoleType.LINE = 46] = "LINE";
  AccessibilityRoleType[AccessibilityRoleType.LIST = 47] = "LIST";
  AccessibilityRoleType[AccessibilityRoleType.LIST_ITEM = 48] = "LIST_ITEM";
  AccessibilityRoleType[AccessibilityRoleType.LIST_ITEM_GROUP = 49] = "LIST_ITEM_GROUP";
  AccessibilityRoleType[AccessibilityRoleType.LOADING_PROGRESS = 50] = "LOADING_PROGRESS";
  AccessibilityRoleType[AccessibilityRoleType.MARQUEE = 51] = "MARQUEE";
  AccessibilityRoleType[AccessibilityRoleType.MATRIX2D = 52] = "MATRIX2D";
  AccessibilityRoleType[AccessibilityRoleType.MENU = 53] = "MENU";
  AccessibilityRoleType[AccessibilityRoleType.MENU_ITEM = 54] = "MENU_ITEM";
  AccessibilityRoleType[AccessibilityRoleType.MENU_ITEM_GROUP = 55] = "MENU_ITEM_GROUP";
  AccessibilityRoleType[AccessibilityRoleType.NAV_DESTINATION = 56] = "NAV_DESTINATION";
  AccessibilityRoleType[AccessibilityRoleType.NAV_ROUTER = 57] = "NAV_ROUTER";
  AccessibilityRoleType[AccessibilityRoleType.NAVIGATION = 58] = "NAVIGATION";
  AccessibilityRoleType[AccessibilityRoleType.NAVIGATION_BAR = 59] = "NAVIGATION_BAR";
  AccessibilityRoleType[AccessibilityRoleType.NAVIGATION_MENU = 60] = "NAVIGATION_MENU";
  AccessibilityRoleType[AccessibilityRoleType.NAVIGATOR = 61] = "NAVIGATOR";
  AccessibilityRoleType[AccessibilityRoleType.OFFSCREEN_CANVAS = 62] = "OFFSCREEN_CANVAS";
  AccessibilityRoleType[AccessibilityRoleType.OFFSCREEN_CANVAS_RENDERING_CONTEXT2D = 63] = "OFFSCREEN_CANVAS_RENDERING_CONTEXT2D";
  AccessibilityRoleType[AccessibilityRoleType.OPTION = 64] = "OPTION";
  AccessibilityRoleType[AccessibilityRoleType.PANEL = 65] = "PANEL";
  AccessibilityRoleType[AccessibilityRoleType.PAPER_PAGE = 66] = "PAPER_PAGE";
  AccessibilityRoleType[AccessibilityRoleType.PATH = 67] = "PATH";
  AccessibilityRoleType[AccessibilityRoleType.PATH2D = 68] = "PATH2D";
  AccessibilityRoleType[AccessibilityRoleType.PATTERN_LOCK = 69] = "PATTERN_LOCK";
  AccessibilityRoleType[AccessibilityRoleType.PICKER = 70] = "PICKER";
  AccessibilityRoleType[AccessibilityRoleType.PICKER_VIEW = 71] = "PICKER_VIEW";
  AccessibilityRoleType[AccessibilityRoleType.PLUGIN_COMPONENT = 72] = "PLUGIN_COMPONENT";
  AccessibilityRoleType[AccessibilityRoleType.POLYGON = 73] = "POLYGON";
  AccessibilityRoleType[AccessibilityRoleType.POLYLINE = 74] = "POLYLINE";
  AccessibilityRoleType[AccessibilityRoleType.POPUP = 75] = "POPUP";
  AccessibilityRoleType[AccessibilityRoleType.PROGRESS = 76] = "PROGRESS";
  AccessibilityRoleType[AccessibilityRoleType.QRCODE = 77] = "QRCODE";
  AccessibilityRoleType[AccessibilityRoleType.RADIO = 78] = "RADIO";
  AccessibilityRoleType[AccessibilityRoleType.RATING = 79] = "RATING";
  AccessibilityRoleType[AccessibilityRoleType.RECT = 80] = "RECT";
  AccessibilityRoleType[AccessibilityRoleType.REFRESH = 81] = "REFRESH";
  AccessibilityRoleType[AccessibilityRoleType.RELATIVE_CONTAINER = 82] = "RELATIVE_CONTAINER";
  AccessibilityRoleType[AccessibilityRoleType.REMOTE_WINDOW = 83] = "REMOTE_WINDOW";
  AccessibilityRoleType[AccessibilityRoleType.RICH_EDITOR = 84] = "RICH_EDITOR";
  AccessibilityRoleType[AccessibilityRoleType.RICH_TEXT = 85] = "RICH_TEXT";
  AccessibilityRoleType[AccessibilityRoleType.ROLE_PAGER = 86] = "ROLE_PAGER";
  AccessibilityRoleType[AccessibilityRoleType.ROW = 87] = "ROW";
  AccessibilityRoleType[AccessibilityRoleType.ROW_SPLIT = 88] = "ROW_SPLIT";
  AccessibilityRoleType[AccessibilityRoleType.SCROLL = 89] = "SCROLL";
  AccessibilityRoleType[AccessibilityRoleType.SCROLL_BAR = 90] = "SCROLL_BAR";
  AccessibilityRoleType[AccessibilityRoleType.SEARCH = 91] = "SEARCH";
  AccessibilityRoleType[AccessibilityRoleType.SEARCH_FIELD = 92] = "SEARCH_FIELD";
  AccessibilityRoleType[AccessibilityRoleType.SELECT = 93] = "SELECT";
  AccessibilityRoleType[AccessibilityRoleType.SHAPE = 94] = "SHAPE";
  AccessibilityRoleType[AccessibilityRoleType.SIDEBAR_CONTAINER = 95] = "SIDEBAR_CONTAINER";
  AccessibilityRoleType[AccessibilityRoleType.SLIDER = 96] = "SLIDER";
  AccessibilityRoleType[AccessibilityRoleType.SPAN = 97] = "SPAN";
  AccessibilityRoleType[AccessibilityRoleType.STACK = 98] = "STACK";
  AccessibilityRoleType[AccessibilityRoleType.STEPPER = 99] = "STEPPER";
  AccessibilityRoleType[AccessibilityRoleType.STEPPER_ITEM = 100] = "STEPPER_ITEM";
  AccessibilityRoleType[AccessibilityRoleType.SWIPER = 101] = "SWIPER";
  AccessibilityRoleType[AccessibilityRoleType.SWIPER_INDICATOR = 102] = "SWIPER_INDICATOR";
  AccessibilityRoleType[AccessibilityRoleType.SWITCH = 103] = "SWITCH";
  AccessibilityRoleType[AccessibilityRoleType.SYMBOL_GLYPH = 104] = "SYMBOL_GLYPH";
  AccessibilityRoleType[AccessibilityRoleType.TAB_CONTENT = 105] = "TAB_CONTENT";
  AccessibilityRoleType[AccessibilityRoleType.TAB_BAR = 106] = "TAB_BAR";
  AccessibilityRoleType[AccessibilityRoleType.TABS = 107] = "TABS";
  AccessibilityRoleType[AccessibilityRoleType.TEXT = 108] = "TEXT";
  AccessibilityRoleType[AccessibilityRoleType.TEXT_CLOCK = 109] = "TEXT_CLOCK";
  AccessibilityRoleType[AccessibilityRoleType.TEXT_ENTRY = 110] = "TEXT_ENTRY";
  AccessibilityRoleType[AccessibilityRoleType.TEXT_INPUT = 111] = "TEXT_INPUT";
  AccessibilityRoleType[AccessibilityRoleType.TEXT_PICKER = 112] = "TEXT_PICKER";
  AccessibilityRoleType[AccessibilityRoleType.TEXT_TIMER = 113] = "TEXT_TIMER";
  AccessibilityRoleType[AccessibilityRoleType.TEXT_AREA = 114] = "TEXT_AREA";
  AccessibilityRoleType[AccessibilityRoleType.TEXT_FIELD = 115] = "TEXT_FIELD";
  AccessibilityRoleType[AccessibilityRoleType.TIME_PICKER = 116] = "TIME_PICKER";
  AccessibilityRoleType[AccessibilityRoleType.TITLE_BAR = 117] = "TITLE_BAR";
  AccessibilityRoleType[AccessibilityRoleType.TOGGLER = 118] = "TOGGLER";
  AccessibilityRoleType[AccessibilityRoleType.UI_EXTENSION_COMPONENT = 119] = "UI_EXTENSION_COMPONENT";
  AccessibilityRoleType[AccessibilityRoleType.VIDEO = 120] = "VIDEO";
  AccessibilityRoleType[AccessibilityRoleType.WATER_FLOW = 121] = "WATER_FLOW";
  AccessibilityRoleType[AccessibilityRoleType.WEB = 122] = "WEB";
  AccessibilityRoleType[AccessibilityRoleType.XCOMPONENT = 123] = "XCOMPONENT";
  AccessibilityRoleType[AccessibilityRoleType.ROLE_NONE = 124] = "ROLE_NONE";
})(AccessibilityRoleType || (AccessibilityRoleType = {}));

let WidthBreakpoint;
(function (WidthBreakpoint) {
  WidthBreakpoint[WidthBreakpoint.WIDTH_XS = 0] = 'WIDTH_XS';
  WidthBreakpoint[WidthBreakpoint.WIDTH_SM = 1] = 'WIDTH_SM';
  WidthBreakpoint[WidthBreakpoint.WIDTH_MD = 2] = 'WIDTH_MD';
  WidthBreakpoint[WidthBreakpoint.WIDTH_LG = 3] = 'WIDTH_LG';
  WidthBreakpoint[WidthBreakpoint.WIDTH_XL = 4] = 'WIDTH_XL';
})(WidthBreakpoint || (WidthBreakpoint = {}));

let HeightBreakpoint;
(function (HeightBreakpoint) {
  HeightBreakpoint[HeightBreakpoint.HEIGHT_SM = 0] = 'HEIGHT_SM';
  HeightBreakpoint[HeightBreakpoint.HEIGHT_MD = 1] = 'HEIGHT_MD';
  HeightBreakpoint[HeightBreakpoint.HEIGHT_LG = 2] = 'HEIGHT_LG';
})(HeightBreakpoint || (HeightBreakpoint = {}));

let WebElementType;
(function (WebElementType) {
  WebElementType[WebElementType.IMAGE = 1] = 'IMAGE';
  WebElementType[WebElementType.LINK = 2] = 'LINK';
  WebElementType[WebElementType.TEXT = 3] = 'TEXT';
})(WebElementType || (WebElementType = {}));

let WebResponseType;
(function (WebResponseType) {
  WebResponseType[WebResponseType.LONG_PRESS = 1] = 'LONG_PRESS';
  WebResponseType[WebResponseType.RIGHT_CLICK = 2] = 'RIGHT_CLICK';
})(WebResponseType || (WebResponseType = {}));

class ImageAnalyzerController {
  constructor() {
  }

  registerSupportTypesAction(getSupportTypesAction) {
    this.getSupportTypesAction = getSupportTypesAction;
  }

  unRegisterSupportTypesAction() {
    this.getSupportTypesAction = null;
  }

  getImageAnalyzerSupportTypes() {
    if (this.getSupportTypesAction === null || this.getSupportTypesAction === undefined) {
      return null;
    }
    return this.getSupportTypesAction();
  }
}

let WebNavigationType;
(function (WebNavigationType) {
  WebNavigationType[WebNavigationType.UNKNOWN = 0] = 'UNKNOWN';
  WebNavigationType[WebNavigationType.MAIN_FRAME_NEW_ENTRY = 1] = 'MAIN_FRAME_NEW_ENTRY';
  WebNavigationType[WebNavigationType.MAIN_FRAME_EXISTING_ENTRY = 2] = 'MAIN_FRAME_EXISTING_ENTRY';
  WebNavigationType[WebNavigationType.NAVIGATION_TYPE_NEW_SUBFRAME = 4] = 'NAVIGATION_TYPE_NEW_SUBFRAME';
  WebNavigationType[WebNavigationType.NAVIGATION_TYPE_AUTO_SUBFRAME = 5] = 'NAVIGATION_TYPE_AUTO_SUBFRAME';
})(WebNavigationType || (WebNavigationType = {}));

let AxisModel;
(function (AxisModel) {
  AxisModel[AxisModel.ABS_X = 0] = 'ABS_X';
  AxisModel[AxisModel.ABS_Y = 1] = 'ABS_Y';
  AxisModel[AxisModel.ABS_Z = 2] = 'ABS_Z';
  AxisModel[AxisModel.ABS_RZ = 3] = 'ABS_RZ';
  AxisModel[AxisModel.ABS_GAS = 4] = 'ABS_GAS';
  AxisModel[AxisModel.ABS_BRAKE = 5] = 'ABS_BRAKE';
  AxisModel[AxisModel.ABS_HAT0X = 6] = 'ABS_HAT0X';
  AxisModel[AxisModel.ABS_HAT0Y = 7] = 'ABS_HAT0Y';
  AxisModel[AxisModel.ABS_RX = 8] = 'ABS_RX';
  AxisModel[AxisModel.ABS_RY = 9] = 'ABS_RY';
  AxisModel[AxisModel.ABS_THROTTLE = 10] = 'ABS_THROTTLE';
  AxisModel[AxisModel.ABS_RUDDER = 11] = 'ABS_RUDDER';
  AxisModel[AxisModel.ABS_WHEEL = 12] = 'ABS_WHEEL';
  AxisModel[AxisModel.ABS_HAT1X = 13] = 'ABS_HAT1X';
  AxisModel[AxisModel.ABS_HAT1Y = 14] = 'ABS_HAT1Y';
  AxisModel[AxisModel.ABS_HAT2X = 15] = 'ABS_HAT2X';
  AxisModel[AxisModel.ABS_HAT2Y = 16] = 'ABS_HAT2Y';
  AxisModel[AxisModel.ABS_HAT3X = 17] = 'ABS_HAT3X';
  AxisModel[AxisModel.ABS_HAT3Y = 18] = 'ABS_HAT3Y';
})(AxisModel || (AxisModel = {}));

let CrownSensitivity;
(function (CrownSensitivity) {
  CrownSensitivity[CrownSensitivity.LOW = 0] = 'LOW';
  CrownSensitivity[CrownSensitivity.MEDIUM = 1] = 'MEDIUM';
  CrownSensitivity[CrownSensitivity.HIGH = 2] = 'HIGH';
})(CrownSensitivity || (CrownSensitivity = {}));

let CrownAction;
(function (CrownAction) {
  CrownAction[CrownAction.BEGIN = 0] = 'BEGIN';
  CrownAction[CrownAction.UPDATE = 1] = 'UPDATE';
  CrownAction[CrownAction.END = 2] = 'END';
})(CrownAction || (CrownAction = {}));

let AccessibilitySamePageMode;
(function (AccessibilitySamePageMode) {
  AccessibilitySamePageMode[AccessibilitySamePageMode.SEMI_SILENT = 0] = 'SEMI_SILENT';
  AccessibilitySamePageMode[AccessibilitySamePageMode.FULL_SILENT = 1] = 'FULL_SILENT';
})(AccessibilitySamePageMode || (AccessibilitySamePageMode = {}));

let FocusDrawLevel;
(function (FocusDrawLevel) {
  FocusDrawLevel[FocusDrawLevel.SELF = 0] = 'SELF';
  FocusDrawLevel[FocusDrawLevel.TOP = 1] = 'TOP';
})(FocusDrawLevel || (FocusDrawLevel = {}));

let AccessibilityAction;
(function (AccessibilityAction) {
  AccessibilityAction[AccessibilityAction.UNDEFINED_ACTION = 0] = 'UNDEFINED_ACTION';
  AccessibilityAction[AccessibilityAction.ACCESSIBILITY_CLICK = 1] = 'ACCESSIBILITY_CLICK';
})(AccessibilityAction || (AccessibilityAction = {}));

let AccessibilityActionInterceptResult;
(function (AccessibilityActionInterceptResult) {
  AccessibilityActionInterceptResult[AccessibilityActionInterceptResult.ACTION_INTERCEPT = 0] = 'ACTION_INTERCEPT';
  AccessibilityActionInterceptResult[AccessibilityActionInterceptResult.ACTION_CONTINUE = 1] = 'ACTION_CONTINUE';
  AccessibilityActionInterceptResult[AccessibilityActionInterceptResult.ACTION_RISE = 2] = 'ACTION_RISE';
})(AccessibilityActionInterceptResult || (AccessibilityActionInterceptResult = {}));

let TipsAnchorType;
(function (TipsAnchorType) {
  TipsAnchorType[TipsAnchorType.TARGET = 0] = 'TARGET';
  TipsAnchorType[TipsAnchorType.CURSOR = 1] = 'CURSOR';
})(TipsAnchorType || (TipsAnchorType = {}));

let TextMenuShowMode;
(function (TextMenuShowMode) {
  TextMenuShowMode[TextMenuShowMode.DEFAULT = 0] = 'DEFAULT';
  TextMenuShowMode[TextMenuShowMode.PREFER_WINDOW = 1] = 'PREFER_WINDOW';
})(TextMenuShowMode || (TextMenuShowMode = {}));

let TextSelectionClearPolicy;
(function (TextSelectionClearPolicy) {
  TextSelectionClearPolicy[TextSelectionClearPolicy.KEEP_SELECTED_TEXT_ON_EXTERNAL_TOUCH = 0] = 'KEEP_SELECTED_TEXT_ON_EXTERNAL_TOUCH';
  TextSelectionClearPolicy[TextSelectionClearPolicy.CLEAR_SELECTED_TEXT_ON_EXTERNAL_TOUCH = 1] = 'CLEAR_SELECTED_TEXT_ON_EXTERNAL_TOUCH';
})(TextSelectionClearPolicy || (TextSelectionClearPolicy = {}));

let KeyProcessingMode;
(function (KeyProcessingMode) {
  KeyProcessingMode[KeyProcessingMode.FOCUS_NAVIGATION = 0] = 'FOCUS_NAVIGATION';
  KeyProcessingMode[KeyProcessingMode.ANCESTOR_EVENT = 1] = 'ANCESTOR_EVENT';
})(KeyProcessingMode || (KeyProcessingMode = {}));

let AxisAction;
(function (AxisAction) {
  AxisAction[AxisAction.NONE = 0] = 'NONE';
  AxisAction[AxisAction.BEGIN = 1] = 'BEGIN';
  AxisAction[AxisAction.UPDATE = 2] = 'UPDATE';
  AxisAction[AxisAction.END = 3] = 'END';
  AxisAction[AxisAction.CANCEL = 4] = 'CANCEL';
})(AxisAction || (AxisAction = {}));

let AxisType;
(function (AxisType) {
  AxisType[AxisType.VERTICAL_AXIS = 0] = 'VERTICAL_AXIS';
  AxisType[AxisType.HORIZONTAL_AXIS = 1] = 'HORIZONTAL_AXIS';
  AxisType[AxisType.PINCH_AXIS = 2] = 'PINCH_AXIS';
})(AxisType || (AxisType = {}));

let WebBypassVsyncCondition;
(function (WebBypassVsyncCondition) {
  WebBypassVsyncCondition[WebBypassVsyncCondition.NONE = 0] = 'NONE';
  WebBypassVsyncCondition[WebBypassVsyncCondition.SCROLLBY_FROM_ZERO_OFFSET = 1] = 'SCROLLBY_FROM_ZERO_OFFSET';
})(WebBypassVsyncCondition || (WebBypassVsyncCondition = {}));

let EventQueryType;
(function (EventQueryType) {
  EventQueryType[EventQueryType.ON_CLICK = 0] = 'ON_CLICK';
})(EventQueryType || (EventQueryType = {}));

let RichEditorDeleteDirection;
(function (RichEditorDeleteDirection) {
  RichEditorDeleteDirection[RichEditorDeleteDirection.BACKWARD = 0] = 'BACKWARD';
  RichEditorDeleteDirection[RichEditorDeleteDirection.FORWARD = 1] = 'FORWARD';
})(RichEditorDeleteDirection || (RichEditorDeleteDirection = {}));

let InteractionHand;
(function (InteractionHand) {
  InteractionHand[InteractionHand.NONE = 0] = 'NONE';
  InteractionHand[InteractionHand.LEFT = 1] = 'LEFT';
  InteractionHand[InteractionHand.RIGHT = 2] = 'RIGHT';
})(InteractionHand || (InteractionHand = {}));

let AnimationPropertyType;
(function (AnimationPropertyType) {
    AnimationPropertyType[AnimationPropertyType["ROTATION"] = 0] = "ROTATION";
    AnimationPropertyType[AnimationPropertyType["TRANSLATION"] = 1] = "TRANSLATION";
    AnimationPropertyType[AnimationPropertyType["SCALE"] = 2] = "SCALE";
    AnimationPropertyType[AnimationPropertyType["OPACITY"] = 3] = "OPACITY";
})(AnimationPropertyType || (AnimationPropertyType = {}));

let DragSpringLoadingState;
(function (DragSpringLoadingState) {
  DragSpringLoadingState.BEGIN = 0;
  DragSpringLoadingState.UPDATE = 1;
  DragSpringLoadingState.END = 2;
  DragSpringLoadingState.CANCEL = 3;
})(DragSpringLoadingState || (DragSpringLoadingState = {}));

let ColorSpace;
(function (ColorSpace) {
  ColorSpace[ColorSpace.SRGB = 0] = 'SRGB';
  ColorSpace[ColorSpace.DISPLAY_P3 = 1] = 'DISPLAY_P3';
  ColorSpace[ColorSpace.BT2020 = 2] = 'BT2020';
})(ColorSpace || (ColorSpace = {}));

let AudioSessionType;
(function (AudioSessionType) {
  AudioSessionType[AudioSessionType.AMBIENT = 3] = 'AMBIENT';
})(AudioSessionType || (AudioSessionType = {}));

let KeyboardGradientMode;
(function (KeyboardGradientMode) {
  KeyboardGradientMode[KeyboardGradientMode.NONE = 0] = 'NONE';
  KeyboardGradientMode[KeyboardGradientMode.LINEAR_GRADIENT = 1] = 'LINEAR_GRADIENT';
})(KeyboardGradientMode || (KeyboardGradientMode = {}));

let KeyboardFluidLightMode;
(function (KeyboardFluidLightMode) {
  KeyboardFluidLightMode[KeyboardFluidLightMode.NONE = 0] = 'NONE';
  KeyboardFluidLightMode[KeyboardFluidLightMode.BACKGROUND_FLUID_LIGHT = 1] = 'BACKGROUND_FLUID_LIGHT';
})(KeyboardFluidLightMode || (KeyboardFluidLightMode = {}));

let GestureFocusMode;
(function (GestureFocusMode) {
  GestureFocusMode[GestureFocusMode.DEFAULT = 0] = 'DEFAULT';
  GestureFocusMode[GestureFocusMode.GESTURE_TAP_AND_LONG_PRESS = 1] = 'GESTURE_TAP_AND_LONG_PRESS';
})(GestureFocusMode || (GestureFocusMode = {}));

let PdfLoadResult;
(function (PdfLoadResult) {
  PdfLoadResult[PdfLoadResult.LOAD_SUCCESS = 0] = 'LOAD_SUCCESS';
  PdfLoadResult[PdfLoadResult.PARSE_ERROR_FILE = 1] = 'PARSE_ERROR_FILE';
  PdfLoadResult[PdfLoadResult.PARSE_ERROR_FORMAT = 2] = 'PARSE_ERROR_FORMAT';
  PdfLoadResult[PdfLoadResult.PARSE_ERROR_PASSWORD = 3] = 'PARSE_ERROR_PASSWORD';
  PdfLoadResult[PdfLoadResult.PARSE_ERROR_HANDLER = 4] = 'PARSE_ERROR_HANDLER';
})(PdfLoadResult || (PdfLoadResult = {}));

let ReplaceEffectType;
(function (ReplaceEffectType) {
  ReplaceEffectType[ReplaceEffectType.SEQUENTIAL = 0] = 'SEQUENTIAL';
  ReplaceEffectType[ReplaceEffectType.CROSS_FADE = 1] = 'CROSS_FADE';
  ReplaceEffectType[ReplaceEffectType.SLASH_OVERLAY = 2] = 'SLASH_OVERLAY';
})(ReplaceEffectType || (ReplaceEffectType = {}));

let PickerIndicatorType;
(function (PickerIndicatorType) {
  PickerIndicatorType[PickerIndicatorType.BACKGROUND = 0] = 'BACKGROUND';
  PickerIndicatorType[PickerIndicatorType.DIVIDER = 1] = 'DIVIDER';
})(PickerIndicatorType || (PickerIndicatorType = {}));

let BlankScreenDetectionMethod;
(function (BlankScreenDetectionMethod) {
  BlankScreenDetectionMethod[BlankScreenDetectionMethod.DETECTION_CONTENTFUL_NODES_SEVENTEEN = 0] =
    'DETECTION_CONTENTFUL_NODES_SEVENTEEN';
})(BlankScreenDetectionMethod || (BlankScreenDetectionMethod = {}));

let ListItemSwipeActionDirection;
(function (ListItemSwipeActionDirection) {
  ListItemSwipeActionDirection[ListItemSwipeActionDirection.START = 0] = 'START';
  ListItemSwipeActionDirection[ListItemSwipeActionDirection.END = 1] = 'END';
})(ListItemSwipeActionDirection || (ListItemSwipeActionDirection = {}));

let ScrollSnapAnimationSpeed;
(function (ScrollSnapAnimationSpeed) {
  ScrollSnapAnimationSpeed[ScrollSnapAnimationSpeed.NORMAL = 0] = 'NORMAL';
  ScrollSnapAnimationSpeed[ScrollSnapAnimationSpeed.SLOW = 1] = 'SLOW';
})(ScrollSnapAnimationSpeed || (ScrollSnapAnimationSpeed = {}));

let NavigationPolicy;
(function (NavigationPolicy) {
  NavigationPolicy[NavigationPolicy.NEW_POPUP = 0] = 'NEW_POPUP';
  NavigationPolicy[NavigationPolicy.NEW_WINDOW = 1] = 'NEW_WINDOW';
  NavigationPolicy[NavigationPolicy.NEW_BACKGROUND_TAB = 2] = 'NEW_BACKGROUND_TAB';
  NavigationPolicy[NavigationPolicy.NEW_FOREGROUND_TAB = 3] = 'NEW_FOREGROUND_TAB';
})(NavigationPolicy || (NavigationPolicy = {}));

let NativeEmbedParamStatus;
(function (NativeEmbedParamStatus) {
  NativeEmbedParamStatus.ADD = 0;
  NativeEmbedParamStatus.UPDATE = 1;
  NativeEmbedParamStatus.DELETE = 2;
})(NativeEmbedParamStatus || (NativeEmbedParamStatus = {}));

let DetectedBlankScreenReason;
(function (DetectedBlankScreenReason) {
  DetectedBlankScreenReason.NO_CONTENTFUL_NODES = 0;
  DetectedBlankScreenReason.SUB_THRESHOLD_CONTENTFUL_NODES = 1;
})(DetectedBlankScreenReason || (DetectedBlankScreenReason = {}));

let WebRotateEffect;
(function (WebRotateEffect) {
  WebRotateEffect[WebRotateEffect.TOPLEFT_EFFECT = 0] = 'TOPLEFT_EFFECT';
  WebRotateEffect[WebRotateEffect.RESIZE_COVER_EFFECT = 1] = 'RESIZE_COVER_EFFECT';
})(WebRotateEffect || (WebRotateEffect = {}));

let PresetFillType;
(function (PresetFillType) {
  PresetFillType[PresetFillType.BREAKPOINT_DEFAULT = 0] = 'BREAKPOINT_DEFAULT';
  PresetFillType[PresetFillType.BREAKPOINT_SM1MD2LG3 = 1] = 'BREAKPOINT_SM1MD2LG3';
  PresetFillType[PresetFillType.BREAKPOINT_SM2MD3LG5 = 2] = 'BREAKPOINT_SM2MD3LG5';
})(PresetFillType || (PresetFillType = {}));

let RawInputEventType;
(function (RawInputEventType) {
  RawInputEventType[RawInputEventType.TOUCH = 0] = 'TOUCH';
  RawInputEventType[RawInputEventType.MOUSE = 1] = 'MOUSE';
})(RawInputEventType || (RawInputEventType = {}));

let SystemProperties;
(function (SystemProperties) {
  SystemProperties.BREAK_POINT = 'system.arkui.breakpoint';
  SystemProperties.WINDOW_SIZE = 'system.window.size';
  SystemProperties.WINDOW_SIZE_PX = 'system.window.size.px';
  SystemProperties.WINDOW_AVOID_AREA = 'system.window.avoidarea';
  SystemProperties.WINDOW_AVOID_AREA_PX = 'system.window.avoidarea.px';
  SystemProperties.WINDOW_IS_FOCUSED = 'system.window.focused';
  SystemProperties.WINDOW_IS_HIGHLIGHTED = 'system.window.highlighted';
  SystemProperties.WINDOW_SYSTEM_DENSITY = 'system.window.density.system';
  SystemProperties.WINDOW_DISPLAY_ID = 'system.window.displayid';
})(SystemProperties || (SystemProperties = {}));

let PinVerifyResult;
(function (PinVerifyResult) {
  PinVerifyResult[PinVerifyResult.PIN_VERIFICATION_SUCCESS = 0] = 'PIN_VERIFICATION_SUCCESS';
  PinVerifyResult[PinVerifyResult.PIN_VERIFICATION_FAILED = 1] = 'PIN_VERIFICATION_FAILED';
})(PinVerifyResult || (PinVerifyResult = {}));

let CredentialType;
(function (CredentialType) {
  CredentialType[CredentialType.CREDENTIAL_USER = 2] = 'CREDENTIAL_USER';
  CredentialType[CredentialType.CREDENTIAL_APP = 3] = 'CREDENTIAL_APP';
  CredentialType[CredentialType.CREDENTIAL_UKEY = 4] = 'CREDENTIAL_UKEY';
})(CredentialType || (CredentialType = {}));

let ResolveStrategy;
(function (ResolveStrategy) {
    ResolveStrategy[ResolveStrategy.CALLING_SCOPE = 0] = 'CALLING_SCOPE';
    ResolveStrategy[ResolveStrategy.LAST_FOCUS = 1] = 'LAST_FOCUS';
    ResolveStrategy[ResolveStrategy.MAX_INSTANCE_ID = 2] = 'MAX_INSTANCE_ID';
    ResolveStrategy[ResolveStrategy.UNIQUE = 3] = 'UNIQUE';
    ResolveStrategy[ResolveStrategy.LAST_FOREGROUND = 4] = 'LAST_FOREGROUND';
    ResolveStrategy[ResolveStrategy.UNDEFINED = 5] = 'UNDEFINED';
})(ResolveStrategy || (ResolveStrategy = {}));

var ScrollEffectType;
(function (ScrollEffectType) {
    ScrollEffectType[ScrollEffectType.COMMON_BLUR = 0] = "COMMON_BLUR";
    ScrollEffectType[ScrollEffectType.GRADUAL_BLUR = 1] = "GRADUAL_BLUR";
})(ScrollEffectType || (ScrollEffectType = {}));

let ThreatType;
(function (ThreatType) {
  ThreatType[ThreatType.THREAT_ILLEGAL = 0] = 'THREAT_ILLEGAL';
  ThreatType[ThreatType.THREAT_FRAUD = 1] = 'THREAT_FRAUD';
  ThreatType[ThreatType.THREAT_RISK = 2] = 'THREAT_RISK';
  ThreatType[ThreatType.THREAT_WARNING = 3] = 'THREAT_WARNING';
  ThreatType[ThreatType.THREAT_NONE = 4] = 'THREAT_NONE';
  ThreatType[ThreatType.THREAT_UNPROCESSED = 5] = 'THREAT_UNPROCESSED';
})(ThreatType || (ThreatType = {}));

let ConsoleMessageSource
(function (ConsoleMessageSource) {
  ConsoleMessageSource[ConsoleMessageSource.XML = 0] = 'XML';
  ConsoleMessageSource[ConsoleMessageSource.JAVASCRIPT = 1] = 'JAVASCRIPT';
  ConsoleMessageSource[ConsoleMessageSource.NETWORK = 2] = 'NETWORK';
  ConsoleMessageSource[ConsoleMessageSource.CONSOLE_API = 3] = 'CONSOLE_API';
  ConsoleMessageSource[ConsoleMessageSource.STORAGE = 4] = 'STORAGE';
  ConsoleMessageSource[ConsoleMessageSource.RENDERING = 5] = 'RENDERING';
  ConsoleMessageSource[ConsoleMessageSource.SECURITY = 6] = 'SECURITY';
  ConsoleMessageSource[ConsoleMessageSource.OTHER = 7] = 'OTHER';
  ConsoleMessageSource[ConsoleMessageSource.DEPRECATION = 8] = 'DEPRECATION';
  ConsoleMessageSource[ConsoleMessageSource.WORKER = 9] = 'WORKER';
  ConsoleMessageSource[ConsoleMessageSource.VIOLATION = 10] = 'VIOLATION';
  ConsoleMessageSource[ConsoleMessageSource.INTERVENTION = 11] = 'INTERVENTION';
  ConsoleMessageSource[ConsoleMessageSource.RECOMMENDATION = 12] = 'RECOMMENDATION';
})(ConsoleMessageSource || (ConsoleMessageSource = {}));

let DialogDisplayMode;
(function (DialogDisplayMode) {
  DialogDisplayMode[DialogDisplayMode.SCREEN_BASED = 0] = 'SCREEN_BASED';
  DialogDisplayMode[DialogDisplayMode.WINDOW_BASED = 1] = 'WINDOW_BASED';
})(DialogDisplayMode || (DialogDisplayMode = {}));

let CameraCaptureState;
(function (CameraCaptureState) {
  CameraCaptureState[CameraCaptureState.NONE = 0] = 'NONE';
  CameraCaptureState[CameraCaptureState.PAUSED = 1] = 'PAUSED';
  CameraCaptureState[CameraCaptureState.ACTIVE = 2] = 'ACTIVE';
})(CameraCaptureState || (CameraCaptureState = {}));

let HdrType;
(function (HdrType) {
  HdrType[HdrType.DEFAULT = 0] = 'DEFAULT';
  HdrType[HdrType.AIHDR = 1] = 'AIHDR';
})(HdrType || (HdrType = {}));

let MicrophoneCaptureState;
(function (MicrophoneCaptureState) {
  MicrophoneCaptureState[MicrophoneCaptureState.NONE = 0] = 'NONE';
  MicrophoneCaptureState[MicrophoneCaptureState.PAUSED = 1] = 'PAUSED';
  MicrophoneCaptureState[MicrophoneCaptureState.ACTIVE = 2] = 'ACTIVE';
})(MicrophoneCaptureState || (MicrophoneCaptureState = {}));

let InputEventSubTypeMask;
(function (InputEventSubTypeMask) {
  InputEventSubTypeMask[InputEventSubTypeMask.LEFT_MOUSE_DOWN = 1 << 0] = 'LEFT_MOUSE_DOWN';
  InputEventSubTypeMask[InputEventSubTypeMask.LEFT_MOUSE_UP = 1 << 1] = 'LEFT_MOUSE_UP';
  InputEventSubTypeMask[InputEventSubTypeMask.RIGHT_MOUSE_DOWN = 1 << 2] = 'RIGHT_MOUSE_DOWN';
  InputEventSubTypeMask[InputEventSubTypeMask.RIGHT_MOUSE_UP = 1 << 3] = 'RIGHT_MOUSE_UP';
  InputEventSubTypeMask[InputEventSubTypeMask.MIDDLE_MOUSE_DOWN = 1 << 4] = 'MIDDLE_MOUSE_DOWN';
  InputEventSubTypeMask[InputEventSubTypeMask.MIDDLE_MOUSE_UP = 1 << 5] = 'MIDDLE_MOUSE_UP';
  InputEventSubTypeMask[InputEventSubTypeMask.LEFT_MOUSE_DRAGGING = 1 << 6] = 'LEFT_MOUSE_DRAGGING';
  InputEventSubTypeMask[InputEventSubTypeMask.RIGHT_MOUSE_DRAGGING = 1 << 7] = 'RIGHT_MOUSE_DRAGGING';
  InputEventSubTypeMask[InputEventSubTypeMask.MIDDLE_MOUSE_DRAGGING = 1 << 8] = 'MIDDLE_MOUSE_DRAGGING';
  InputEventSubTypeMask[InputEventSubTypeMask.TOUCH_DOWN = 1 << 9] = 'TOUCH_DOWN';
  InputEventSubTypeMask[InputEventSubTypeMask.TOUCH_UP = 1 << 10] = 'TOUCH_UP';
  InputEventSubTypeMask[InputEventSubTypeMask.KEY_DOWN = 1 << 11] = 'KEY_DOWN';
  InputEventSubTypeMask[InputEventSubTypeMask.KEY_UP = 1 << 12] = 'KEY_UP';
})(InputEventSubTypeMask || (InputEventSubTypeMask = {}));

let InputEventInterceptAction;
(function (InputEventInterceptAction) {
  InputEventInterceptAction[InputEventInterceptAction.CONTINUE = 0] = 'CONTINUE';
  InputEventInterceptAction[InputEventInterceptAction.BLOCK = 1] = 'BLOCK';
})(InputEventInterceptAction || (InputEventInterceptAction = {}));

let LazyForEachReleaseStrategy;
(function (LazyForEachReleaseStrategy) {
  LazyForEachReleaseStrategy.BATCH = 0;
  LazyForEachReleaseStrategy.PROGRESSIVE = 1;
})(LazyForEachReleaseStrategy || (LazyForEachReleaseStrategy = {}));

let LazyForEachCustomComponentFreezeMode ;
(function (LazyForEachCustomComponentFreezeMode ) {
  LazyForEachCustomComponentFreezeMode.AUTO = 0;
  LazyForEachCustomComponentFreezeMode.DISABLED = 1;
  LazyForEachCustomComponentFreezeMode.ENABLED = 2;
})(LazyForEachCustomComponentFreezeMode  || (LazyForEachCustomComponentFreezeMode  = {}));

let LazyForEachMemOptStrategy;
(function (LazyForEachMemOptStrategy) {
  LazyForEachMemOptStrategy.DEFAULT = 0;
  LazyForEachMemOptStrategy.ENABLE_AUTO_CACHE_OPTIMIZATION = 1;
})(LazyForEachMemOptStrategy || (LazyForEachMemOptStrategy = {}));

let GestureShortcut;
(function (GestureShortcut) {
  GestureShortcut[GestureShortcut.PRIMARY = 0] = 'PRIMARY';
})(GestureShortcut || (GestureShortcut = {}));
globalThis.GestureShortcut = GestureShortcut;

let StrokeJoinStyle;
(function (StrokeJoinStyle) {
  StrokeJoinStyle [StrokeJoinStyle.MITER_JOIN = 0] = 'MITER_JOIN';
  StrokeJoinStyle [StrokeJoinStyle.ROUND_JOIN = 1] = 'ROUND_JOIN';
  StrokeJoinStyle [StrokeJoinStyle.BEVEL_JOIN = 2] = 'BEVEL_JOIN';
})(StrokeJoinStyle || (StrokeJoinStyle = {}));

let EdgeLightPosition;
(function (EdgeLightPosition) {
  EdgeLightPosition[EdgeLightPosition.TOP_LEFT = 0] = 'TOP_LEFT';
  EdgeLightPosition[EdgeLightPosition.TOP_RIGHT = 1] = 'TOP_RIGHT';
  EdgeLightPosition[EdgeLightPosition.BOTTOM_LEFT = 2] = 'BOTTOM_LEFT';
  EdgeLightPosition[EdgeLightPosition.BOTTOM_RIGHT = 3] = 'BOTTOM_RIGHT';
  EdgeLightPosition[EdgeLightPosition.TOP = 4] = 'TOP';
  EdgeLightPosition[EdgeLightPosition.BOTTOM = 5] = 'BOTTOM';
  EdgeLightPosition[EdgeLightPosition.LEFT = 6] = 'LEFT';
  EdgeLightPosition[EdgeLightPosition.RIGHT = 7] = 'RIGHT';
})(EdgeLightPosition || (EdgeLightPosition = {}));