import { AttachmentTypes, OwnerModel } from "./common"; export interface EventModel { id: string; createdDateTime: string; lastModifiedDateTime: string; changeKey: string; categories: string[]; originalStartTimeZone: string; originalEndTimeZone: string; iCalUId: string; reminderMinutesBeforeStart: number; isReminderOn: boolean; hasAttachments: boolean; subject: string; bodyPreview: string; importance: string; sensitivity: string; isAllDay: boolean; isCancelled: boolean; isOrganizer: boolean; responseRequested: boolean; seriesMasterId: null; showAs: string; type: string; webLink: string; onlineMeetingUrl: null; isOnlineMeeting: boolean; onlineMeetingProvider: string; allowNewTimeProposals: boolean; recurrence: null; onlineMeeting: null; responseStatus: StatusModel; body: { contentType: string; content: string; }; start: ScheduleModel; end: ScheduleModel; location: LocationModel; locations: any[]; attendees: AttendeeModel[]; organizer: { emailAddress: OwnerModel; }; } export interface AttendeeModel { type: string; status: StatusModel; emailAddress: OwnerModel; } export interface StatusModel { response: string; time: string; } export interface ScheduleModel { dateTime: string; timeZone: string; } export interface LocationModel { displayName: string; locationType: string; uniqueIdType: string; address: string; coordinates: string; } export interface EventAttachmentModel { '@odata.type': AttachmentTypes; name: string; contentBytes: string; lastModifiedDateTime?: string; contentType?: string; size?: number; isInline?: boolean; contentId?: string; contentLocation?: string; }