import type { Dayjs } from 'dayjs'



export interface Props {
  
  modelValue: Date
  
  
  range?: [Date, Date]
  
  type?: 'normal' | 'month' | 'week' | 'simple'
  
  isSwitchSelection?: boolean
  
  isSwitchMonth?: boolean
  
  highlightWeek?: boolean
  
  highlightDay?: boolean
  
  showZhou?: boolean
  
  firstDayOfWeek?: number
  
  cellHeight?: number
}
export interface Emits {
  (e: 'update:model-value', currValue: Date): void
  (e: 'itemClick', activeValue: Date | undefined): void
}

export type calendarTableProps = {
  
  selectedDay?: Dayjs
  
  date: Dayjs
  
  firstDayOfWeek: number
  
  range?: [Dayjs, Dayjs]
  
  hideHeader?: boolean
  
  parent: any
  
  calendartType?: 'normal' | 'month' | 'week' | 'simple'
  
  highlightWeek?: boolean
  
  highlightDay?: boolean
  
  showZhou?: boolean
  
  cellHeight?: number
}
export type CalendarDateCellType = 'next' | 'prev' | 'current'
export type CalendarDateCell = {
  text: number
  type: CalendarDateCellType
}
export type calendarTableEmits = {
  (e: 'pick', value: Dayjs): void
}