1 import type { Nullable } from '@proton/shared/lib/interfaces';
3 import type { ICAL_ATTENDEE_ROLE, ICAL_ATTENDEE_STATUS } from '../../calendar/constants';
4 import type { DecryptedKey } from '../Key';
5 import type { CalendarSettings, VisualCalendar } from './Calendar';
6 import type { DecryptedCalendarKey } from './CalendarKey';
7 import type { CalendarEvent } from './Event';
8 import type { VcalAttendeeProperty, VcalOrganizerProperty, VcalVeventComponent } from './VcalModel';
10 export interface PartstatActions {
11 accept: () => Promise<void>;
12 acceptTentatively: () => Promise<void>;
13 decline: () => Promise<void>;
18 partstat: ICAL_ATTENDEE_STATUS;
19 isProtonInvite: boolean;
27 partstat: ICAL_ATTENDEE_STATUS;
29 isProtonInvite: boolean;
30 calendarEvent?: CalendarEvent;
34 export interface CalendarWidgetData {
35 calendar: VisualCalendar;
36 isCalendarDisabled: boolean;
37 calendarNeedsUserAction: boolean;
40 addressKeys?: DecryptedKey[];
41 calendarKeys?: DecryptedCalendarKey[];
42 calendarSettings?: CalendarSettings;
45 export interface PmInviteData {
46 isProtonReply?: boolean;
47 sharedEventID?: string;
48 sharedSessionKey?: string;
51 export interface Participant {
52 vcalComponent: VcalAttendeeProperty | VcalOrganizerProperty;
57 partstat?: ICAL_ATTENDEE_STATUS;
58 role?: ICAL_ATTENDEE_ROLE;
60 attendeeIndex?: number;
62 updateTime?: Nullable<number>;
66 export interface SavedImportData {
67 savedEvent: CalendarEvent;
68 savedVevent: VcalVeventComponent;
71 export interface SavedInviteData extends SavedImportData {
72 savedVcalAttendee: VcalAttendeeProperty;