import { VNode } from 'vue'; export type PickerRangeValue = [number | null, number | null]; export type PickerRangeFormattedValue = [string, string]; export type PickerValue = number | PickerRangeValue | null; export type PickerFormattedValue = string | PickerRangeFormattedValue | null; export type PickerRangeSide = 'start' | 'end'; export type PickerDefaultTime = number | [number | undefined, number | undefined]; export type PickerSelectSource = 'mouse' | 'key'; export type PickerActiveSection = 'date' | 'time' | null; export type PickerRangeType = 'daterange' | 'datetimerange' | 'weekrange' | 'monthrange' | 'yearrange' | 'quarterrange'; export type PickerType = 'date' | 'week' | 'month' | 'quarter' | 'year' | 'datetime' | PickerRangeType; export type PickerSingleType = Exclude; export type PickerDateTimeType = 'datetime' | 'datetimerange'; export type PickerPanelMode = 'date' | 'week' | 'month' | 'quarter' | 'year' | 'decade' | 'time'; export type PickerSize = 'small' | 'middle' | 'large'; export type PickerStatus = 'warning' | 'error'; export type PickerDisabledDate = (timestamp: number) => boolean; export interface PickerDisabledTimeUnits { disabledHours?: () => number[]; disabledMinutes?: (hour: number) => number[]; disabledSeconds?: (hour: number, minute: number) => number[]; } export type PickerDisabledTime = (timestamp: number) => PickerDisabledTimeUnits; export type PickerRangeDisabledTime = (timestamp: number, side: PickerRangeSide) => PickerDisabledTimeUnits; export interface PickerDateRenderParams { current: number; today: number; } export type PickerDateRender = (params: PickerDateRenderParams) => VNode[]; export type PickerPresetValue = number | [number, number]; export interface PickerPreset { label: string | VNode; value: PickerPresetValue | (() => PickerPresetValue); } export interface PickerTimePanelProps { hourStep?: number; minuteStep?: number; secondStep?: number; use12Hours?: boolean; hideDisabledOptions?: boolean; } export interface PickerTimeUnit { label: string; value: number; disabled: boolean; } export interface PickerTimePanelLayout { use12Hours: boolean; showHour: boolean; showMinute: boolean; showSecond: boolean; }