import { NLocale } from "../../locales/common/enUS.js"; import { NDateLocale } from "../../locales/date/enUS.js"; import { ScrollbarInst } from "../../_internal/scrollbar/src/Scrollbar.js"; import "../../_internal/index.js"; import { ButtonProps } from "../../button/src/Button.js"; import "../../button/index.js"; import { IsHourDisabled, IsMinuteDisabled, IsSecondDisabled } from "../../time-picker/src/interface.js"; import { TimePickerProps } from "../../time-picker/src/TimePicker.js"; import { DatePickerTheme } from "../styles/light.js"; import { DatePickerSlots } from "./DatePicker.js"; import { dualCalendarValidation, uniCalendarValidation } from "./validation-utils.js"; import "../../locales/index.js"; import { MergedTheme } from "../../_mixins/use-theme.js"; import "../../_mixins/index.js"; import { Ref, UnwrapNestedRefs } from "vue"; import { VirtualListInst } from "vueuc"; //#region src/date-picker/src/interface.d.ts type Value = number | [number, number]; type DefaultTime = string | [string | undefined, string | undefined] | DatePickerGetDefaultTime | DatePickerGetRangeDefaultTime; type FormattedValue = string | [string, string]; type NowButtonProps = Pick; type ClearButtonProps = Pick; type ConfirmButtonProps = Pick; type Shortcuts = Record number)> | Record [number, number] | readonly [number, number])>; type OnUpdateValue = (value: number & (number | null) & [number, number] & ([number, number] | null), formattedValue: string & (string | null) & [string, string] & ([string, string] | null)) => void; type OnConfirm = OnUpdateValue; type OnConfirmImpl = OnUpdateValueImpl; type OnUpdateFormattedValue = (value: string & (string | null) & [string, string] & ([string, string] | null), timestampValue: number & (number | null) & [number, number] & ([number, number] | null)) => void; type OnUpdateFormattedValueImpl = (value: string | [string, string] | null, timestampValue: number | [number, number] | null) => void; type OnUpdateValueImpl = (value: Value | null, formattedValue: string | [string, string] | null) => void; type OnPanelUpdateValue = (value: number & (number | null) & [number, number] & ([number, number] | null), doUpdate: boolean) => void; type OnPanelUpdateValueImpl = (value: Value | null, doUpdate: boolean) => void; type OnClose = (disableUpdateOnClose: boolean) => void; interface RangePanelChildComponentRefs { startYearScrollbarRef: Ref; endYearScrollbarRef: Ref; startMonthScrollbarRef: Ref; endMonthScrollbarRef: Ref; startYearVlRef: Ref; endYearVlRef: Ref; } interface PanelChildComponentRefs { monthScrollbarRef: Ref; yearScrollbarRef: Ref; yearVlRef: Ref; } interface PanelRef extends Partial> { $el: HTMLElement; } type FirstDayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6; type DatePickerInjection = { mergedClsPrefixRef: Ref; mergedThemeRef: Ref>; timePickerSizeRef: Ref<'small' | 'medium' | 'large'>; timePickerPropsRef: Ref; localeRef: Ref; dateLocaleRef: Ref; isDateDisabledRef: Ref; rangesRef: Ref | undefined>; closeOnSelectRef: Ref; updateValueOnCloseRef: Ref; firstDayOfWeekRef: Ref; monthFormatRef: Ref; yearFormatRef: Ref; quarterFormatRef: Ref; datePickerSlots: DatePickerSlots; yearRangeRef: Ref<[number, number]>; } & ReturnType & ReturnType; declare const datePickerInjectionKey: import("vue").InjectionKey; type IsDateDisabled = IsSingleDateDisabled | IsRangeDateDisabled; type IsSingleDateDisabledDetail = { type: 'date'; year: number; month: number; date: number; } | { type: 'month'; year: number; month: number; } | { type: 'year'; year: number; } | { type: 'quarter'; year: number; quarter: number; } | { type: 'input'; }; type IsSingleDateDisabled = (timestamp: number, detail: IsSingleDateDisabledDetail) => boolean; type IsRangeDateDisabled = (timestamp: number, position: 'start' | 'end', value: [number, number] | null) => boolean; interface TimeValidator { isHourDisabled?: IsHourDisabled; isMinuteDisabled?: IsMinuteDisabled; isSecondDisabled?: IsSecondDisabled; } type IsTimeDisabled = IsSingleTimeDisabled | IsRangeTimeDisabled; type IsSingleTimeDisabled = (date: number) => TimeValidator; type IsRangeTimeDisabled = (date: number, position: 'start' | 'end', value: [number, number]) => TimeValidator; type DatePickerGetDefaultTime = (timestamp: number) => string; type DatePickerGetRangeDefaultTime = (timestamp: number, position: 'start' | 'end', value: [number, number] | null) => string; //#endregion export { ClearButtonProps, ConfirmButtonProps, DatePickerGetDefaultTime, DatePickerGetRangeDefaultTime, DatePickerInjection, DefaultTime, FirstDayOfWeek, FormattedValue, IsDateDisabled, IsRangeDateDisabled, IsRangeTimeDisabled, IsSingleDateDisabled, IsSingleDateDisabledDetail, IsSingleTimeDisabled, IsTimeDisabled, NowButtonProps, OnClose, OnConfirm, OnConfirmImpl, OnPanelUpdateValue, OnPanelUpdateValueImpl, OnUpdateFormattedValue, OnUpdateFormattedValueImpl, OnUpdateValue, OnUpdateValueImpl, PanelChildComponentRefs, PanelRef, RangePanelChildComponentRefs, Shortcuts, TimeValidator, Value, datePickerInjectionKey };