
import { Dayjs } from 'dayjs'

export type RangeValue = [Dayjs | null, Dayjs | null]

export type DasDatePicker = {
  modelValue: Dayjs

  
  borderType?: 'underline' | 'bordered' | 'none'

  
  size?: 'large' | 'default' | 'middle' | 'small' | 'table'

  
  width?: string

  
  height?: string

  
  showToday?: boolean

  
  disabled?: boolean

  
  isView?: boolean

  
  error?: boolean

  
  errorLabel?: string

  
  errorMode?: 'default' | 'overlay'

  
  dropdownClassName?: string

  
  placeholder?: string

  
  teleported?: boolean

  
  errorModelZIndex?: number

  
  noSetDefaultVal?: boolean

  
  isTooltip?: boolean
}

export type DasRangePicker = {
  modelValue: RangeValue

  
  borderType?: 'underline' | 'bordered' | 'none'

  
  size?: 'large' | 'default' | 'middle' | 'small' | 'table'

  
  width?: string

  
  height?: string

  
  format?: string

  
  showToday?: boolean

  ranges?: any

  
  disabled?: boolean

  
  isView?: boolean

  
  error?: boolean

  
  errorLabel?: string

  
  errorMode?: 'default' | 'overlay'

  
  showTime?: any

  
  dropdownClassName?: string

  
  placeholder?: any

  
  teleported?: boolean

  
  errorModelZIndex?: number

  
  noSetDefaultVal?: boolean

  
  isTooltip?: boolean
}

export type DasDatePickerProps = {
  modelValue: RangeValue

  
  borderType?: 'underline' | 'bordered' | 'none'

  
  size?: 'large' | 'default' | 'middle' | 'small' | 'table'

  
  width?: string

  
  height?: string

  
  itemWidth?: string

  
  format?: string

  
  valueFormat?: string

  
  showToday?: boolean

  
  separator?: string

  
  disabledDate?: Function

  
  placeholder?: any

  
  error?: boolean

  
  errorLabel?: string

  
  errorMode?: 'default' | 'overlay'

  
  teleported?: boolean

  
  errorModelZIndex?: number

  
  noSetDefaultVal?: boolean

  
  prevAttrs?: Object

  
  nextAttrs?: Object

  
  disabledUnit?: 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year' | 'week'
}

export type DasTimePicker = {
  modelValue: Dayjs

  
  borderType?: 'underline' | 'bordered' | 'none'

  
  size?: 'large' | 'default' | 'middle' | 'small' | 'table'

  
  width?: string

  
  height?: string

  
  showNow?: boolean

  
  disabled?: boolean

  
  isView?: boolean

  
  error?: boolean

  
  errorLabel?: string

  
  errorMode?: 'default' | 'overlay'

  
  dropdownClassName?: string

  
  placeholder?: string

  
  teleported?: boolean

  
  errorModelZIndex?: number

  
  noSetDefaultVal?: boolean

  
  isTooltip?: boolean
}

export type DasTimeRangePicker = {
  modelValue: RangeValue

  
  borderType?: 'underline' | 'bordered' | 'none'

  
  size?: 'large' | 'default' | 'middle' | 'small' | 'table'

  
  width?: string

  
  height?: string

  
  showNow?: boolean

  
  disabled?: boolean

  
  isView?: boolean

  
  error?: boolean

  
  errorLabel?: string

  
  errorMode?: 'default' | 'overlay'

  
  dropdownClassName?: string

  
  placeholder?: any

  
  teleported?: boolean

  
  errorModelZIndex?: number

  
  noSetDefaultVal?: boolean

  
  isTooltip?: boolean
}
