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; }