import type { InjectionKey, Ref } from 'vue'; import type { MergedTheme } from '../../_mixins'; import type { DatePickerV2Theme } from '../styles'; export type Value = number | null; export type RangeValue = [number, number] | null; export interface DateItem { year: number; month: number; date: number; ts: number; isCurrentDate: boolean; isCurrentMonth: boolean; selected: boolean; inRange: boolean; isRangeStart: boolean; isRangeEnd: boolean; disabled: boolean; } export interface MonthItem { year: number; month: number; label: string; ts: number; } export interface YearItem { year: number; ts: number; } export type OnUpdateValue = (value: Value) => void; export type OnUpdateRangeValue = (value: RangeValue) => void; export type IsSingleDateDisabled = (date: number) => boolean; export type IsRangeDateDisabled = (date: number, position: 'start' | 'end', value: [number, number] | null) => boolean; export type IsDateDisabled = IsSingleDateDisabled | IsRangeDateDisabled; export type TriggerPreset = 'input' | 'select' | 'button'; export interface DatePickerV2Injection { mergedClsPrefixRef: Ref; mergedThemeRef: Ref>; localeRef: Ref; dateLocaleRef: Ref; isDateDisabledRef: Ref; } export declare const datePickerV2InjectionKey: InjectionKey;