import { ElementUIComponent, ElementUIComponentSize, ElementUIHorizontalAlignment } from './component' export type DatePickerType = 'year' | 'month' | 'date' | 'datetime' | 'week' | 'datetimerange' | 'daterange' | 'dates' export type FirstDayOfWeek = 1 | 2 | 3 | 4 | 5 | 6 | 7 export interface DisabledDateChecker { /** * Determine if `date` will be disabled in the picker * * @param date The date to check * @returns if `date` will be disabled in the picker */ (date: Date): boolean } // Picked date range export interface DateRange { minDate: Date, maxDate: Date } export interface PickEventHandler { /** * Callback function that triggers when picks a date range * * @param dateRange The selected date range */ (dateRange: DateRange): void } export interface ShortcutClickEventHandler { /** * Callback function that triggers when clicking on a shortcut. * You can change the picker value by emitting the pick event. * Example: `vm.$emit('pick', new Date())` */ (vm: ElDatePicker): void } /** Shortcut options */ export interface Shortcut { /** Title of the shortcut */ text: string, /** Callback function that triggers when picks a date range */ onClick?: ShortcutClickEventHandler } /** Options of el-date-picker */ export interface DatePickerOptions { /** An object array to set shortcut options */ shortcuts?: Shortcut[] /** A function determining if a date is disabled. */ disabledDate?: DisabledDateChecker /** First day of week */ firstDayOfWeek?: FirstDayOfWeek /** A callback that triggers when the seleted date is changed. Only for daterange and datetimerange. */ onPick?: PickEventHandler } /** DatePicker Component */ export declare class ElDatePicker extends ElementUIComponent { /** The value of the date picker */ value: Date | string | Date[] | string[] /** Whether DatePicker is read only */ readonly: boolean /** Whether DatePicker is disabled */ disabled: boolean /** Size of Input */ size: ElementUIComponentSize /** Whether the input is editable */ editable: boolean /** Whether to show clear button */ clearable: boolean /** Placeholder */ placeholder: string /** Placeholder for the start date in range mode */ startPlaceholder: string /** Placeholder for the end date in range mode */ endPlaceholder: string /** Type of the picker */ type: DatePickerType /** Format of the picker */ format: string /** Alignment */ align: ElementUIHorizontalAlignment /** Custom class name for DatePicker's dropdown */ popperClass: string /** Additional options, check the table below */ pickerOptions: DatePickerOptions /** Range separator */ rangeSeparator: string /** Default date of the calendar */ defaultValue: Date | number | string /** Format of binding value. If not specified, the binding value will be a Date object */ valueFormat: string /** name for the inner native input */ name: string /** * Focus the Input component */ focus (): void }