import type { ExtractPropTypes, PropType } from 'vue'
import type { BadgeProps, BadgeType } from '../wd-badge/types'
export type LinkType = 'navigateTo' | 'switchTab' | 'reLaunch' | 'redirectTo'
export declare const gridItemProps: {
  /**
   * GridItem 下方文字样式
   */
  customText: {
    type: PropType<string>
    default: string
  }
  /**
   * GridItem 上方 icon 样式
   */
  customIcon: {
    type: PropType<string>
    default: string
  }
  /**
   * 图标名称，可选值见 wd-icon 组件
   */
  icon: {
    type: PropType<string>
    default: string
  }
  /**
   * 图标大小
   */
  iconSize: {
    type: PropType<string>
    default: string
  }
  /**
   * 文字
   */
  text: StringConstructor
  /**
   * 点击后跳转的链接地址
   */
  url: StringConstructor
  /**
   * 页面跳转方式, 参考微信小程序路由文档，可选值：navigateTo / switchTab / reLaunch
   */
  linkType: {
    type: PropType<LinkType>
    default: LinkType
  }
  /**
   * 是否开启 GridItem 内容插槽
   */
  useSlot: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 是否开启 GridItem icon 插槽
   */
  useIconSlot: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 是否开启 GridItem text 内容插槽
   */
  useTextSlot: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 是否显示图标右上角小红点
   */
  isDot: {
    type: BooleanConstructor
    default: undefined
  }
  /**
   * 图标右上角显示的 badge 类型，可选值：primary / success / warning / danger / info
   */
  type: PropType<BadgeType>
  /**
   * 图标右上角 badge 显示值
   */
  value: NumberConstructor
  /**
   * 图标右上角 badge 最大值，超过最大值会显示 '{max}+'，要求 value 是 Number 类型
   */
  max: NumberConstructor
  /**
   * 徽标属性，透传给 Badge 组件
   */
  badgeProps: PropType<Partial<BadgeProps>>
  customStyle: {
    type: PropType<string>
    default: string
  }
  customClass: {
    type: PropType<string>
    default: string
  }
}
export type GridItemProps = ExtractPropTypes<typeof gridItemProps>
