import type { ExtractPropTypes } from 'vue'; import type Calendar from './calendar.vue'; export declare const calendarEventTextSizes: readonly ["sm", "md", "lg"]; export declare const calendarWeekdayFormats: readonly ["min", "short", "long"]; export declare const calendarWeekStartDays: readonly [0, 1]; export declare const calendarWeekColumnDateFormats: readonly ["M/D", "M月D日", "D日", "D"]; export declare const calendarFirstDayFormats: readonly ["monthDay", "dayMonth", "chineseDate"]; export declare const calendarDayTitleFormats: readonly ["YYYY-MM-DD", "YYYY/MM/DD", "YYYY年M月D日", "YYYY年MM月DD日", "M月D日 dddd", "MM/DD ddd", "DD/MM/YYYY", "ddd, MMM D, YYYY", "dddd, MMMM D"]; export declare const calendarMonthTitleFormats: readonly ["YYYY-MM", "YYYY年M月", "M月"]; export declare const calendarWeekTitleFormats: readonly ["YYYY 第W周", "YYYY年 第W周", "第W周", "W周", "YYYY/W", "W/YYYY", "MM/DD - MM/DD", "YYYY/MM/DD - MM/DD", "YYYY年M月D日-D日", "YYYY年M月D日 - M月D日", "Week W, YYYY", "YYYY-MM-DD / DD"]; export type CalendarEventTextSize = (typeof calendarEventTextSizes)[number]; export type CalendarWeekdayFormat = (typeof calendarWeekdayFormats)[number]; export type CalendarWeekStartDay = (typeof calendarWeekStartDays)[number]; export type CalendarWeekColumnDateFormat = (typeof calendarWeekColumnDateFormats)[number]; export type CalendarFirstDayPresetFormat = (typeof calendarFirstDayFormats)[number]; export type CalendarDayTitlePresetFormat = (typeof calendarDayTitleFormats)[number]; export type CalendarMonthTitlePresetFormat = (typeof calendarMonthTitleFormats)[number]; export type CalendarWeekTitlePresetFormat = (typeof calendarWeekTitleFormats)[number]; export type CalendarFirstDayFormat = string; export type CalendarDayTitleFormat = string; export type CalendarMonthTitleFormat = string; export type CalendarWeekTitleFormat = string; export interface CalendarEventDisplayField { label?: string; key: string; type?: string; props?: Record; colProps?: Record; style?: Record; on?: Record void>; editComponent?: { type?: string; label?: string; props?: Record; colProps?: Record; spanCol?: number; [key: string]: any; }; children?: CalendarEventDisplayField[]; } /** * 日期组配置:将一条原始记录的多组日期字段(如计划/实际)展开为多条派生日程。 * 详见「日期组功能档案」。 */ export interface CalendarDateGroup { /** 日期组唯一标识,参与复合事件 ID 生成(`${rawRecordId}_${id}`) */ id: string; /** 原始记录中「开始时间」对应的字段名 */ startField: string; /** 「结束时间」字段名(缺省时事件退化为单点,end = start) */ endField?: string; /** 是否启用(默认 true,`enabled !== false` 视为启用) */ enabled?: boolean; /** 标签文字(旧字段,作为 tag 的兜底) */ labelText?: string; /** 标签颜色(旧字段,作为 eventColor 的兜底) */ labelColor?: string; /** 标签文本(新字段,优先级高于 labelText) */ tag?: string; /** 标签文本(兼容写法) */ tagText?: string; /** 标签背景色 */ tagColor?: string; /** 日程统一色调(同时影响左侧边框 + 浅色背景),缺省回退到 labelColor */ eventColor?: string; /** 事件背景色,优先级高于 eventColor */ backgroundColor?: string; /** 事件边框色,优先级高于 eventColor */ borderColor?: string; /** 事件文字颜色 */ color?: string; [key: string]: any; } export type CalendarView = 'month' | 'week' | 'day'; export declare const defaultCalendarFieldComponents: Record; export interface CalendarEvent { id?: string | number; title?: string; start: string | Date; end?: string | Date; /** 事件背景色,优先级高于 eventColor */ backgroundColor?: string; /** 事件左侧边框颜色,优先级高于 eventColor */ borderColor?: string; /** 事件文字颜色 */ color?: string; /** 统一色调:同时设置左侧边框色与浅色背景(backgroundColor/borderColor 会覆盖此值) */ eventColor?: string; /** 标题前显示的标签文本 */ tag?: string; /** 标签背景颜色 */ tagColor?: string; content?: string; class?: string; allDay?: boolean; _eid?: string; split?: string | number; /** 派生事件指向的原始记录 ID(日期组展开时写入) */ rawRecordId?: string; /** 派生事件所属日期组 ID(日期组展开时写入) */ _dateGroupId?: string; [key: string]: any; } export interface CalendarCellClickRaw { date: Date; split?: string | number; [key: string]: any; } export interface CalendarSelectRaw { start: Date; end: Date; split?: string | number; } export interface CalendarEventClickRaw { event: CalendarEvent; nativeEvent?: Event; } export interface CalendarEventContextMenuRaw { event: CalendarEvent; nativeEvent: MouseEvent; } export interface CalendarEventDropRaw { event: CalendarEvent; originalEvent?: CalendarEvent; external?: boolean; } export interface CalendarEventResizeRaw { event: CalendarEvent; originalEvent?: CalendarEvent; } export interface CalendarEventEditRaw { event: CalendarEvent; originalEvent?: CalendarEvent; isCreate?: boolean; } export interface CalendarEventDeleteRaw { event: CalendarEvent; } export interface CalendarDatesChangeRaw { view: 'month' | 'week' | 'day'; startDate: Date; endDate: Date; firstCellDate?: Date; lastCellDate?: Date; events?: CalendarEvent[]; } export declare const calendarProps: { readonly modelValue: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => any[], boolean>; readonly view: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, "month", boolean>; readonly currentDate: { readonly type: import("vue").PropType, unknown, unknown>>; readonly required: false; readonly validator: (val: unknown) => boolean; __epPropKey: true; }; readonly editableEvents: import("ll-plus/es/utils").EpPropFinalized>, unknown, unknown, () => {}, boolean>; readonly selectable: import("ll-plus/es/utils").EpPropFinalized; readonly readonly: import("ll-plus/es/utils").EpPropFinalized; readonly disableCreateInPast: import("ll-plus/es/utils").EpPropFinalized; readonly clickOutOfMonthJump: import("ll-plus/es/utils").EpPropFinalized; readonly allDaySlot: import("ll-plus/es/utils").EpPropFinalized; readonly nowIndicator: import("ll-plus/es/utils").EpPropFinalized; readonly timeSlotFormat: import("ll-plus/es/utils").EpPropFinalized; readonly dayMaxEvents: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, true, boolean>; readonly eventsOnMonthView: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, true, boolean>; readonly height: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, "auto", boolean>; readonly slotMinTime: import("ll-plus/es/utils").EpPropFinalized; readonly slotMaxTime: import("ll-plus/es/utils").EpPropFinalized; readonly slotDuration: import("ll-plus/es/utils").EpPropFinalized; readonly timeCellHeight: import("ll-plus/es/utils").EpPropFinalized; readonly autoScrollToNow: import("ll-plus/es/utils").EpPropFinalized; readonly autoScrollOnlyToday: import("ll-plus/es/utils").EpPropFinalized; readonly eventTitleKey: import("ll-plus/es/utils").EpPropFinalized; readonly eventDescriptionKey: import("ll-plus/es/utils").EpPropFinalized; readonly eventImageKey: import("ll-plus/es/utils").EpPropFinalized; readonly eventMetaFields: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => any[], boolean>; readonly eventDisplayFields: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => any[], boolean>; readonly components: import("ll-plus/es/utils").EpPropFinalized>, unknown, unknown, () => {}, boolean>; readonly eventMaxMetaCount: import("ll-plus/es/utils").EpPropFinalized; readonly eventTextSize: import("ll-plus/es/utils").EpPropFinalized, "sm" | "md" | "lg", unknown, "md", boolean>; readonly weekdayFormat: import("ll-plus/es/utils").EpPropFinalized, "min" | "short" | "long", unknown, "long", boolean>; readonly weekStartDay: import("ll-plus/es/utils").EpPropFinalized, 0 | 1, unknown, 0, boolean>; readonly weekColumnDateFormat: import("ll-plus/es/utils").EpPropFinalized, "D" | "M/D" | "M月D日" | "D日", unknown, "D", boolean>; readonly firstDayFormat: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, "chineseDate", boolean>; readonly monthTitleFormat: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, "YYYY-MM", boolean>; readonly weekTitleFormat: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, "YYYY 第W周", boolean>; readonly dayTitleFormat: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, "YYYY-MM-DD", boolean>; readonly showLunar: import("ll-plus/es/utils").EpPropFinalized; readonly dateGroups: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => any[], boolean>; readonly dateGroupTitleFormat: import("ll-plus/es/utils").EpPropFinalized; }; export type CalendarProps = ExtractPropTypes; export type CalendarInstance = InstanceType; export interface CalendarChangeContext { events: CalendarEvent[]; } export interface CalendarDateClickContext extends CalendarChangeContext { raw: CalendarCellClickRaw; } export interface CalendarSelectContext extends CalendarChangeContext { raw: CalendarSelectRaw; } export interface CalendarEventClickContext extends CalendarChangeContext { raw: CalendarEventClickRaw; event: CalendarEvent; } export interface CalendarEventDropContext extends CalendarChangeContext { raw: CalendarEventDropRaw; event: CalendarEvent; } export interface CalendarEventContextMenuContext extends CalendarChangeContext { raw: CalendarEventContextMenuRaw; event: CalendarEvent; } export interface CalendarEventResizeContext extends CalendarChangeContext { raw: CalendarEventResizeRaw; event: CalendarEvent; } export interface CalendarEventEditContext extends CalendarChangeContext { raw: CalendarEventEditRaw; event: CalendarEvent; } export interface CalendarEventDeleteContext extends CalendarChangeContext { raw: CalendarEventDeleteRaw; event: CalendarEvent; } export interface CalendarDatesChangeContext extends CalendarChangeContext { raw: CalendarDatesChangeRaw; } export declare function normalizeCalendarEvent(event: CalendarEvent): CalendarEvent; export declare function normalizeCalendarEvents(events?: CalendarEvent[]): CalendarEvent[]; export declare const titleEnum: { day: string; week: string; month: string; };