import type { DatePickerType } from 'element-plus/es/components/date-picker-panel';
export type TIDatePickerType = DatePickerType;
export type TSingleDateType = Date | string | number | undefined;
export type TRangeDateType = [TSingleDateType, TSingleDateType];
export type TRangeTypes = Extract<DatePickerType, 'years' | 'dates' | 'datetimerange' | 'daterange' | 'monthrange'>;
export type ExtractDateModelType<T extends DatePickerType> = T extends TRangeTypes ? TRangeDateType : TSingleDateType;
export type TSetDateFn<T extends DatePickerType> = T extends TRangeTypes ? () => [Date, Date] : () => Date;
export type TShortcutValue<T extends DatePickerType> = T extends TRangeTypes ? [Date, Date] : Date;
export type TShortcutItem<T extends DatePickerType> = {
    text: string;
    value: TShortcutValue<T> | TSetDateFn<T>;
};
export type InternalModuleValue = Date | Date[] | null;
export interface ITimeValue {
    hours: number | string;
    minutes: number | string;
    seconds: number | string;
}
