import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { DateRangeSource } from 'v-calendar/dist/types/src/utils/date/range.d.ts'; import { DateRangeSource as DateRangeSource_2 } from 'v-calendar/dist/types/src/utils/date/range.js'; import { DefineComponent } from 'vue'; import { ExtractPropTypes } from 'vue'; import { PopoverOptions } from 'v-calendar/dist/types/src/utils/popovers.d.ts'; import { PropType } from 'vue'; import { PublicProps } from 'vue'; declare type __VLS_NonUndefinedable = T extends undefined ? never : T; declare type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; declare type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable>; } : { type: PropType; required: true; }; }; declare type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; declare type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; }; export declare interface DatePickerPopoverOptions extends Partial { positionFixed?: boolean; } export declare interface DatePickerProps { /** * Dates or date range objects that are available for selection or navigation. * All other dates are disabled. * @see */ availableDates?: DateRangeSource[]; /** * Whether the input is disabled */ disabled?: boolean; /** * Dates that are disabled from user selection or navigation. * @see: https://vcalendar.io/api/v2.0/calendar.html#disabled-dates */ disabledDates?: DateRangeSource[]; /** * Adds default modifiers to make the calendar popover teleport; useful in preventing the calendar * popover from getting hidden behind its containing element. * Although we are not using vue teleport, this name is to future-proof the prop name for when the vCalendar is updated to use teleport internally. */ enableTeleport?: boolean; /** * Error text to display. Replaces `hintText` (if provided) & adds error styling. */ errorText?: string; /** * Date Format required for date-fns-tz formatInTimeZone() * @see https://www.npmjs.com/package/date-fns-tz */ format?: string; /** * If true, show clear button */ hideClearButton?: boolean; /** * Hint text to display below the input */ hintText?: string; id?: string; /** * Disables text input. Only the calendar popover can update the date value. */ isInputReadonly?: boolean; /** * Label to render for the datepicker */ label?: string; /** * Prevents access to portion of the calendar AFTER the specified MAX date. * Disables click events for all other dates outside of the min-max ranges. * @see https://vcalendar.io/calendar/api.html#props */ maxDate?: Date; /** * Prevents access to portion of the calendar before the specified MIN date. * Disables click events for all other dates outside of the min-max ranges. * @see https://vcalendar.io/calendar/api.html#props */ minDate?: Date; /** * Latest page (month, year) that the user can navigate to. * @see https://vcalendar.io/calendar/api.html#props */ maxPage?: { month: number; year: number; }; /** * Earliest page (month, year) that the user can navigate to. * @see https://vcalendar.io/calendar/api.html#props */ minPage?: { month: number; year: number; }; /** * Mode (date, time, datetime) * @see https://vcalendar.io/calendar/api.html#props * @todo dateTime and time are in beta and should be used with caution. */ mode?: 'date' | 'dateTime' | 'time'; /** * Initial value to pass to the datepicker */ modelValue?: string; /** * `name` property for datepicker's input */ name?: string; /** * `placeholder' property for datepicker input */ placeholder?: string; /** * Popover configuration; v-calendar uses Popover internally. * @see https://v2--vcalendar.netlify.app/api/v2.0/datepicker.html#popover */ popoverOptions?: DatePickerPopoverOptions; /** * `timezone` TZ DB time zone property * @see https://vcalendar.io/i18n/timezones.html */ timeZone?: string; /** * Passed to the addBottomSpace prop in the Field component; it adds spacing under the field that is consistent whether or not hint/error text is displayed. */ addBottomSpace?: boolean; } declare const _default: __VLS_WithTemplateSlots, { availableDates: undefined; addBottomSpace: boolean; disabled: boolean; disabledDates: undefined; errorText: string; format: string; hideClearButton: boolean; hintText: string; id: string; isInputReadonly: boolean; label: string; maxDate: undefined; maxPage: undefined; minDate: undefined; minPage: undefined; mode: string; modelValue: string; name: string; placeholder: undefined; enableTeleport: boolean; timeZone: string; }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { "update:model-value": (date: string | number | Date) => void; blur: () => void; }, string, PublicProps, Readonly, { availableDates: undefined; addBottomSpace: boolean; disabled: boolean; disabledDates: undefined; errorText: string; format: string; hideClearButton: boolean; hintText: string; id: string; isInputReadonly: boolean; label: string; maxDate: undefined; maxPage: undefined; minDate: undefined; minPage: undefined; mode: string; modelValue: string; name: string; placeholder: undefined; enableTeleport: boolean; timeZone: string; }>>> & Readonly<{ onBlur?: (() => any) | undefined; "onUpdate:model-value"?: ((date: string | number | Date) => any) | undefined; }>, { name: string; disabled: boolean; mode: "time" | "date" | "dateTime"; label: string; placeholder: string; id: string; addBottomSpace: boolean; errorText: string; hintText: string; modelValue: string; enableTeleport: boolean; format: string; timeZone: string; availableDates: DateRangeSource_2[]; disabledDates: DateRangeSource_2[]; hideClearButton: boolean; isInputReadonly: boolean; maxDate: Date; minDate: Date; maxPage: { month: number; year: number; }; minPage: { month: number; year: number; }; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, { hint?(_: {}): any; }>; export default _default; export { }