// Generated by dts-bundle v0.7.3 // Dependencies for this module: // ../../ts-ics // ../../tsdav // ../../ical.js declare module 'open-dav-calendar' { import { CalendarElement } from 'open-dav-calendar/calendarelement/calendarElement'; import './index.css'; import { type ResourceBundle } from 'open-dav-calendar/translations'; import type { AddressBookSource, CalendarOptions, CalendarSource, VCardProvider, RecursivePartial, ServerSource } from 'open-dav-calendar/types/options'; export function createCalendar(calendarSources: (ServerSource | CalendarSource)[], addressBookSources: (ServerSource | AddressBookSource | VCardProvider)[], target: Element, options?: CalendarOptions, translations?: RecursivePartial): Promise; } declare module 'open-dav-calendar/calendarelement/calendarElement' { import '@event-calendar/core/index.css'; import './calendarElement.css'; import type { AddressBookSource, CalendarOptions, CalendarSource, VCardProvider, ServerSource } from 'open-dav-calendar/types/options'; export class CalendarElement { constructor(); create: (calendarSources: (ServerSource | CalendarSource)[], addressBookSources: (ServerSource | AddressBookSource | VCardProvider)[], target: Element, options?: CalendarOptions) => Promise; destroy: () => void; } } declare module 'open-dav-calendar/translations' { import type { RecursivePartial } from 'open-dav-calendar/types/options'; const en: { calendarElement: { timeGridDay: string; timeGridWeek: string; dayGridMonth: string; listDay: string; listWeek: string; listMonth: string; listYear: string; today: string; allDay: string; calendars: string; newEvent: string; }; eventForm: { allDay: string; calendar: string; title: string; location: string; start: string; end: string; organizer: string; attendees: string; addAttendee: string; description: string; delete: string; cancel: string; save: string; chooseACalendar: string; rrule: string; userInvite: string; }; eventBody: { organizer: string; participation_require: string; participation_optional: string; non_participant: string; participation_confirmed: string; participation_pending: string; participation_confirmed_tentative: string; participation_declined: string; }; recurringForm: { editRecurring: string; editAll: string; editSingle: string; }; participationStatus: { 'NEEDS-ACTION': string; ACCEPTED: string; DECLINED: string; TENTATIVE: string; DELEGATED: string; }; userParticipationStatus: { 'NEEDS-ACTION': string; ACCEPTED: string; DECLINED: string; TENTATIVE: string; }; attendeeRoles: { CHAIR: string; 'REQ-PARTICIPANT': string; 'OPT-PARTICIPANT': string; 'NON-PARTICIPANT': string; }; rrules: { none: string; unchanged: string; 'FREQ=DAILY': string; 'FREQ=WEEKLY': string; 'BYDAY=MO,TU,WE,TH,FR;FREQ=DAILY': string; 'INTERVAL=2;FREQ=WEEKLY': string; 'FREQ=MONTHLY': string; 'FREQ=YEARLY': string; }; }; export type ResourceBundle = typeof en; export const setTranslations: (bundle: RecursivePartial) => { calendarElement: { timeGridDay: string; timeGridWeek: string; dayGridMonth: string; listDay: string; listWeek: string; listMonth: string; listYear: string; today: string; allDay: string; calendars: string; newEvent: string; }; eventForm: { allDay: string; calendar: string; title: string; location: string; start: string; end: string; organizer: string; attendees: string; addAttendee: string; description: string; delete: string; cancel: string; save: string; chooseACalendar: string; rrule: string; userInvite: string; }; eventBody: { organizer: string; participation_require: string; participation_optional: string; non_participant: string; participation_confirmed: string; participation_pending: string; participation_confirmed_tentative: string; participation_declined: string; }; recurringForm: { editRecurring: string; editAll: string; editSingle: string; }; userParticipationStatus: { 'NEEDS-ACTION': string; ACCEPTED: string; DECLINED: string; TENTATIVE: string; }; participationStatus: { 'NEEDS-ACTION': string; ACCEPTED: string; DECLINED: string; TENTATIVE: string; DELEGATED: string; }; attendeeRoles: { CHAIR: string; 'REQ-PARTICIPANT': string; 'OPT-PARTICIPANT': string; 'NON-PARTICIPANT': string; }; rrules: { none: string; unchanged: string; 'FREQ=DAILY': string; 'FREQ=WEEKLY': string; 'BYDAY=MO,TU,WE,TH,FR;FREQ=DAILY': string; 'INTERVAL=2;FREQ=WEEKLY': string; 'FREQ=MONTHLY': string; 'FREQ=YEARLY': string; }; }; export const getTranslations: () => { calendarElement: { timeGridDay: string; timeGridWeek: string; dayGridMonth: string; listDay: string; listWeek: string; listMonth: string; listYear: string; today: string; allDay: string; calendars: string; newEvent: string; }; eventForm: { allDay: string; calendar: string; title: string; location: string; start: string; end: string; organizer: string; attendees: string; addAttendee: string; description: string; delete: string; cancel: string; save: string; chooseACalendar: string; rrule: string; userInvite: string; }; eventBody: { organizer: string; participation_require: string; participation_optional: string; non_participant: string; participation_confirmed: string; participation_pending: string; participation_confirmed_tentative: string; participation_declined: string; }; recurringForm: { editRecurring: string; editAll: string; editSingle: string; }; participationStatus: { 'NEEDS-ACTION': string; ACCEPTED: string; DECLINED: string; TENTATIVE: string; DELEGATED: string; }; userParticipationStatus: { 'NEEDS-ACTION': string; ACCEPTED: string; DECLINED: string; TENTATIVE: string; }; attendeeRoles: { CHAIR: string; 'REQ-PARTICIPANT': string; 'OPT-PARTICIPANT': string; 'NON-PARTICIPANT': string; }; rrules: { none: string; unchanged: string; 'FREQ=DAILY': string; 'FREQ=WEEKLY': string; 'BYDAY=MO,TU,WE,TH,FR;FREQ=DAILY': string; 'INTERVAL=2;FREQ=WEEKLY': string; 'FREQ=MONTHLY': string; 'FREQ=YEARLY': string; }; }; export {}; } declare module 'open-dav-calendar/types/options' { import type { IcsEvent } from 'ts-ics'; import type { Calendar, CalendarEvent } from 'open-dav-calendar/types/calendar'; import type { AddressBookVCard, Contact, VCard } from 'open-dav-calendar/types/addressbook'; import type { attendeeRoleTypes, availableViews } from 'open-dav-calendar/contants'; export type RecursivePartial = { [P in keyof T]?: RecursivePartial; }; export type DomEvent = GlobalEventHandlersEventMap[keyof GlobalEventHandlersEventMap]; export type ServerSource = { serverUrl: string; headers?: Record; fetchOptions?: RequestInit; }; export type CalendarSource = { calendarUrl: string; calendarUid?: unknown; headers?: Record; fetchOptions?: RequestInit; }; export type AddressBookSource = { addressBookUrl: string; addressBookUid?: unknown; headers?: Record; fetchOptions?: RequestInit; }; export type VCardProvider = { fetchContacts: () => Promise; }; export type View = typeof availableViews[number]; export type IcsAttendeeRoleType = typeof attendeeRoleTypes[number]; export type SelectedCalendar = { url: string; selected: boolean; }; export type SelectCalendarCallback = (calendar: SelectedCalendar) => void; export type SelectCalendarsClickInfo = { jsEvent: DomEvent; calendars: Calendar[]; selectedCalendars: Set; handleSelect: SelectCalendarCallback; }; export type SelectCalendarHandlers = { onClickSelectCalendars: (info: SelectCalendarsClickInfo) => void; }; export type EventBodyInfo = { calendar: Calendar; vCards: AddressBookVCard[]; event: IcsEvent; view: View; userContact?: Contact; }; export type BodyHandlers = { getEventBody: (info: EventBodyInfo) => Node[]; }; export type EventEditCallback = (event: CalendarEvent) => Promise; export type EventEditCreateInfo = { jsEvent: DomEvent; userContact?: Contact; event: IcsEvent; calendars: Calendar[]; vCards: AddressBookVCard[]; handleCreate: EventEditCallback; }; export type EventEditSelectInfo = { jsEvent: DomEvent; userContact?: Contact; calendarUrl: string; event: IcsEvent; recurringEvent?: IcsEvent; calendars: Calendar[]; vCards: AddressBookVCard[]; handleUpdate: EventEditCallback; handleDelete: EventEditCallback; }; export type EventEditMoveResizeInfo = { jsEvent: DomEvent; calendarUrl: string; userContact?: Contact; event: IcsEvent; recurringEvent?: IcsEvent; start: Date; end: Date; handleUpdate: EventEditCallback; }; export type EventEditDeleteInfo = { jsEvent: DomEvent; userContact?: Contact; calendarUrl: string; event: IcsEvent; recurringEvent?: IcsEvent; handleDelete: EventEditCallback; }; export type EventEditHandlers = { onCreateEvent: (info: EventEditCreateInfo) => void; onSelectEvent: (info: EventEditSelectInfo) => void; onMoveResizeEvent: (info: EventEditMoveResizeInfo) => void; onDeleteEvent: (info: EventEditDeleteInfo) => void; }; export type EventChangeInfo = { calendarUrl: string; event: IcsEvent; ical: string; }; export type EventChangeHandlers = { onEventCreated?: (info: EventChangeInfo) => void; onEventUpdated?: (info: EventChangeInfo) => void; onEventDeleted?: (info: EventChangeInfo) => void; }; export type CalendarElementOptions = { view?: View; views?: View[]; locale?: string; date?: Date; editable?: boolean; }; export type CalendarClientOptions = { userContact?: Contact; }; export type DefaultComponentsOptions = { hideVCardEmails?: boolean; }; export type CalendarOptions = CalendarElementOptions & CalendarClientOptions & (SelectCalendarHandlers | Record) & (EventEditHandlers | Record) & EventChangeHandlers & Partial & DefaultComponentsOptions; export type CalendarResponse = { response: Response; ical: string; }; } declare module 'open-dav-calendar/types/calendar' { import type { IcsCalendar, IcsEvent, IcsRecurrenceId } from 'ts-ics'; import type { DAVCalendar } from 'tsdav'; export type Calendar = DAVCalendar & { headers?: Record; uid?: unknown; }; export type CalendarObject = { data: IcsCalendar; etag?: string; url: string; calendarUrl: string; }; export type CalendarEvent = { calendarUrl: string; event: IcsEvent; }; export type EventUid = { uid: string; recurrenceId?: IcsRecurrenceId; }; export type DisplayedCalendarEvent = { calendarUrl: string; event: IcsEvent; recurringEvent?: IcsEvent; }; } declare module 'open-dav-calendar/types/addressbook' { import type { DAVAddressBook } from 'tsdav'; import ICAL from 'ical.js'; export type AddressBook = DAVAddressBook & { headers?: Record; uid?: unknown; }; export type AddressBookObject = { data: ICAL.Component; etag?: string; url: string; addressBookUrl: string; }; export type VCard = { name: string; email: string | null; }; export type AddressBookVCard = { addressBookUrl?: string; vCard: VCard; }; export type Contact = { name?: string; email: string; }; } declare module 'open-dav-calendar/contants' { export const attendeeRoleTypes: readonly ["CHAIR", "REQ-PARTICIPANT", "OPT-PARTICIPANT", "NON-PARTICIPANT"]; export const namedRRules: readonly ["FREQ=DAILY", "FREQ=WEEKLY", "BYDAY=MO,TU,WE,TH,FR;FREQ=DAILY", "INTERVAL=2;FREQ=WEEKLY", "FREQ=MONTHLY", "FREQ=YEARLY"]; export const availableViews: readonly ["timeGridDay", "timeGridWeek", "dayGridMonth", "listDay", "listWeek", "listMonth", "listYear"]; }