import { ScheduleView, ScheduleEvent, ScheduleBlockedSlot } from '../types/components'; interface Props { modelValue?: Date | string; view?: ScheduleView; events?: ScheduleEvent[]; dayStartHour?: number; dayEndHour?: number; slotDuration?: number; showNowIndicator?: boolean; readonly?: boolean; blockedSlots?: ScheduleBlockedSlot[]; weekStartsOn?: 0 | 1; showViewToggle?: boolean; showNavigation?: boolean; statusColors?: Record; locale?: string; /** Replace the calendar grid with a loading placeholder. */ loading?: boolean; /** * Error message. When set, the calendar grid is replaced by an error state. * `null`/`undefined` renders normally. */ error?: string | null; /** * Opt-in empty-state headline. An empty grid is meaningful on a calendar, so * the empty state only replaces it when this message is supplied and there * are no events. */ emptyMessage?: string; } declare var __VLS_1: { error: string; }, __VLS_8: {}, __VLS_15: {}, __VLS_22: { date: Date; isToday: boolean; }, __VLS_24: { label: string; index: number; }, __VLS_26: { event: ScheduleEvent; }, __VLS_28: { date: Date; isToday: boolean; events: ScheduleEvent[]; }; type __VLS_Slots = {} & { error?: (props: typeof __VLS_1) => any; } & { loading?: (props: typeof __VLS_8) => any; } & { empty?: (props: typeof __VLS_15) => any; } & { 'day-header'?: (props: typeof __VLS_22) => any; } & { 'time-label'?: (props: typeof __VLS_24) => any; } & { event?: (props: typeof __VLS_26) => any; } & { 'month-day'?: (props: typeof __VLS_28) => any; }; declare const __VLS_base: import('vue').DefineComponent any; navigate: (context: { direction: string; date: Date; }) => any; "update:view": (value: ScheduleView) => any; "event-click": (event: ScheduleEvent) => any; "event-create": (context: { start: Date; end: Date; }) => any; "event-update": (context: { event: ScheduleEvent; newStart: Date; newEnd: Date; }) => any; "slot-click": (context: { date: Date; hour: number; minute: number; }) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ "onUpdate:modelValue"?: ((value: Date) => any) | undefined; onNavigate?: ((context: { direction: string; date: Date; }) => any) | undefined; "onUpdate:view"?: ((value: ScheduleView) => any) | undefined; "onEvent-click"?: ((event: ScheduleEvent) => any) | undefined; "onEvent-create"?: ((context: { start: Date; end: Date; }) => any) | undefined; "onEvent-update"?: ((context: { event: ScheduleEvent; newStart: Date; newEnd: Date; }) => any) | undefined; "onSlot-click"?: ((context: { date: Date; hour: number; minute: number; }) => any) | undefined; }>, { error: string | null; readonly: boolean; view: ScheduleView; loading: boolean; locale: string; weekStartsOn: 0 | 1; showNavigation: boolean; events: ScheduleEvent[]; dayStartHour: number; dayEndHour: number; slotDuration: number; showNowIndicator: boolean; blockedSlots: ScheduleBlockedSlot[]; showViewToggle: boolean; }, {}, {}, {}, 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; }; };