declare type LayoutName =
  /**
   * 横向布局
   */
  | 'horizontal'
  /**
   * 纵向布局
   */
  | 'vertical'
  /**
   * 分栏布局
   */
  | 'column'
  /**
   * 综合布局
   */
  | 'comprehensive'
  /**
   * 常规布局
   */
  | 'common'
  /**
   * 瀑布布局
   */
  | 'fall'

declare type ThemeName = 'default' | 'plain' | 'technology'

declare type Background =
  /**
   * 无背景
   */
  | 'none'
  /**
   * 自定义背景
   */
  | 'vab-background'

declare type ColumnStyle =
  /**
   * 横向风格
   */
  | 'horizontal'
  /**
   * 纵向风格
   */
  | 'vertical'
  /**
   * 卡片风格
   */
  | 'card'
  /**
   * 箭头风格
   */
  | 'arrow'
  /**
   * 半圆风格
   */
  | 'semicircle'

declare type TabsBarStyle =
  /**
   * 卡片风格
   */
  | 'card'
  /**
   * 灵动风格
   */
  | 'smart'
  /**
   * 圆滑风格
   */
  | 'smooth'
  /**
   * 矩形风格
   */
  | 'rect'

declare type pageTransitionStyle =
  /**
   * 无动画
   */
  | 'null'
  /**
   * el-fade-in-linear
   */
  | 'el-fade-in-linear'
  /**
   * el-fade-in
   */
  | 'el-fade-in'
  /**
   * el-zoom-in-center
   */
  | 'el-zoom-in-center'
  /**
   * el-zoom-in-top
   */
  | 'el-zoom-in-top'
  /**
   * el-zoom-in-bottom
   */
  | 'el-zoom-in-bottom'

declare interface ThemeType {
  layout: LayoutName
  themeName: ThemeName
  menuWidth: string
  columnStyle: ColumnStyle
  color: string
  isFollow: string | number | boolean
  fixedHeader: boolean
  foldSidebar: boolean
  showProgressBar: boolean
  showFooter: string | number | boolean
  showTabs: boolean
  tabsBarStyle: TabsBarStyle
  showTabsIcon: boolean
  tabDrag: boolean
  showLanguage: boolean
  showRefresh: boolean
  showTheme: boolean
  showSearch: boolean
  showNotice: boolean
  showFullScreen: boolean
  showDark: boolean
  pageTransition: pageTransitionStyle
  radius: number | undefined
  showLock: boolean
  showColorPicker: boolean
  colorWeakness: string | number | boolean
  showFontSize: boolean
  fontSize: string
  rightToolsDrag: boolean
}
