import { CalendarSelectionMode, CalendarMarker, CalendarDayContext } from '../types'; /** * Calendar - Month calendar with date selection, range selection, and custom markers. * * @example * ```vue * * * * * * * * * ``` */ interface Props { /** Selected date(s) - type depends on selectionMode */ modelValue?: Date | Date[] | { start: Date; end: Date; } | null; /** Selection behavior mode */ selectionMode?: CalendarSelectionMode; /** Display month (0-11) */ month?: number; /** Display year */ year?: number; /** Always show 6 weeks (42 days) */ fixedWeeks?: boolean; /** First day of week (0=Sunday, 1=Monday, etc.) */ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6; /** Show days from adjacent months */ showOutsideDays?: boolean; /** Show month navigation buttons */ showNavigation?: boolean; /** Visual markers on specific dates */ markers?: CalendarMarker[]; /** Earliest selectable date */ minDate?: Date | string; /** Latest selectable date */ maxDate?: Date | string; /** Explicitly disabled dates */ disabledDates?: Array; /** Custom disabled date logic */ isDateDisabled?: (date: Date) => boolean; /** Locale for date formatting */ locale?: string; } declare function prevMonth(): void; declare function nextMonth(): void; declare var __VLS_1: { month: number; year: number; prevMonth: typeof prevMonth; nextMonth: typeof nextMonth; }, __VLS_3: { dayName: string; index: number; }, __VLS_5: { day: CalendarDayContext; }; type __VLS_Slots = {} & { header?: (props: typeof __VLS_1) => any; } & { 'week-day'?: (props: typeof __VLS_3) => any; } & { 'day-content'?: (props: typeof __VLS_5) => any; }; declare const __VLS_base: import('vue').DefineComponent any; "update:month": (month: number) => any; "update:year": (year: number) => any; "day-click": (context: CalendarDayContext) => any; navigate: (direction: "prev" | "next", month: number, year: number) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ "onUpdate:modelValue"?: ((value: Date | Date[] | { start: Date; end: Date; } | null) => any) | undefined; "onUpdate:month"?: ((month: number) => any) | undefined; "onUpdate:year"?: ((year: number) => any) | undefined; "onDay-click"?: ((context: CalendarDayContext) => any) | undefined; onNavigate?: ((direction: "prev" | "next", month: number, year: number) => any) | undefined; }>, { locale: string; selectionMode: CalendarSelectionMode; fixedWeeks: boolean; weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6; showOutsideDays: boolean; showNavigation: boolean; markers: CalendarMarker[]; disabledDates: Array; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };