3 CALENDAR_SHARE_BUSY_TIME_SLOTS,
7 } from '../../calendar/constants';
8 import type { Nullable } from '../utils';
9 import type { CalendarKey } from './CalendarKey';
10 import type { CalendarMember, CalendarOwner } from './CalendarMember';
11 import type { NotificationModel } from './Notification';
12 import type { Passphrase } from './Passphrase';
14 export interface Calendar {
19 export interface CalendarWithOwnMembers extends Calendar {
21 Members: CalendarMember[];
24 export interface VisualCalendar extends CalendarWithOwnMembers {
28 Display: CALENDAR_DISPLAY;
35 export interface CalendarUserSettings {
36 DefaultCalendarID: Nullable<string>;
38 DisplayWeekNumber: number;
39 AutoDetectPrimaryTimezone: number;
40 PrimaryTimezone: string;
41 DisplaySecondaryTimezone: number;
42 SecondaryTimezone: Nullable<string>;
43 ViewPreference: SETTINGS_VIEW;
44 InviteLocale: Nullable<string>;
45 AutoImportInvite: number;
48 export interface CalendarNotificationSettings {
49 Type: NOTIFICATION_TYPE_API;
53 export interface CalendarSettings {
56 DefaultEventDuration: number;
57 DefaultPartDayNotifications: CalendarNotificationSettings[];
58 DefaultFullDayNotifications: CalendarNotificationSettings[];
59 MakesUserBusy: CALENDAR_SHARE_BUSY_TIME_SLOTS;
62 export interface CalendarBootstrap {
64 Passphrase: Passphrase;
65 Members: CalendarMember[];
66 CalendarSettings: CalendarSettings;
69 export interface CalendarAddressOptions {
74 export interface CalendarSelectOption {
80 export interface CalendarViewModelFull {
83 members: CalendarMember[];
88 addressOptions: CalendarAddressOptions[];
90 defaultPartDayNotification: NotificationModel;
91 defaultFullDayNotification: NotificationModel;
92 partDayNotifications: NotificationModel[];
93 fullDayNotifications: NotificationModel[];
96 shareBusySlots: CALENDAR_SHARE_BUSY_TIME_SLOTS;
99 export interface CalendarErrors {
101 description?: string;
104 export interface HolidaysDirectoryCalendar {
110 LanguageCode: string;
119 export interface VideoConferenceMeetingCreation {