import { MouseEvent, ComponentClass } from 'react'
import { CommonEventFunction } from '@tarojs/components/types/common'

import CtsComponent from './base'

export interface CtsPickerProps extends CtsComponent { 
  /**
   * 选中的值
   */
  value?: any
  /**
   * 显示name
   */
  note?: string
  /**
   * 选择器类型
   * @description 可选择的值 'selector', 'multiSelector'
   * @type {('selector', 'multiSelector')}
   * @default 'selector'
   */
  mode?: string
  /**
   * mode 为 selector 或 multiSelector 时，range 有效
   */
  range: any[]
  /**
   * 当 range 是一个 Object Array 时，通过 rangeKey 来指定 Object 中 key 的值作为选择器显示内容
   */
  rangeKey: string
  /**
   * 内容为空时占位符
   */
  placeholder?: string
  /**
   * 是否禁用
   * @default false
   */
  disabled?: boolean
  /**
   * 选中事件
   */
  onChange: CommonEventFunction
}

export interface CtsPickerState { 
  /**
   * 表示选择了 range 中的第几个（下标从 0 开始）
   */
  chooseIndex: any
  /**
   * 当前数据
   */
  currentRange: any[]
}

declare const CtsPicker: ComponentClass<CtsPickerProps>

export default CtsPicker