import type { PropType } from 'vue'
export type KeyboardMode = 'default' | 'custom'
export type KeyType = '' | 'delete' | 'extra' | 'close'
export interface Key {
  text?: number | string
  type?: KeyType
  wider?: boolean
}
export declare const numberKeyboardProps: {
  /**
   * 是否可见
   */
  visible: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 绑定的值
   */
  modelValue: {
    type: PropType<string>
    default: string
  }
  /**
   * 标题
   */
  title: StringConstructor
  /**
   * 键盘模式
   */
  mode: {
    type: PropType<KeyboardMode>
    default: KeyboardMode
  }
  /**
   * 层级
   */
  zIndex: {
    type: NumberConstructor
    default: number
  }
  /**
   * 最大长度
   */
  maxlength: {
    type: NumberConstructor
    default: number
  }
  /**
   * 是否显示删除键
   */
  showDeleteKey: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 是否随机键盘按键顺序
   */
  randomKeyOrder: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 确认按钮文本
   */
  closeText: StringConstructor
  /**
   * 删除按钮文本
   */
  deleteText: StringConstructor
  /**
   * 关闭按钮是否显示加载状态
   */
  closeButtonLoading: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 是否显示蒙层
   */
  modal: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 是否在点击外部时收起键盘
   */
  hideOnClickOutside: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 是否锁定滚动
   */
  lockScroll: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 是否在底部安全区域内
   */
  safeAreaInsetBottom: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 额外按键
   */
  extraKey: PropType<string | Array<string>>
  customStyle: {
    type: PropType<string>
    default: string
  }
  customClass: {
    type: PropType<string>
    default: string
  }
}
