import { ActivityType, IActivity, IClickTrackActivity, IOpenTrackActivity, IPageViewActivity, IMessageActivity, } from '../activity/interfaces' export interface IFetchActivityGroupsOptions { accessToken: string size?: number start?: number email?: string } export interface IActivityGroup { id: string type: ActivityType email: string latestActivity: number total: number activity: IActivity[] } export interface INotificationSettingsToActivityType { [key: string]: boolean } export interface IClickTrackActivityGroup extends IActivityGroup { emailUUID?: string emailSubject?: string gmailId?: string activity: IClickTrackActivity[] } export interface IOpenTrackActivityGroup extends IActivityGroup { emailUUID?: string emailSubject?: string gmailId?: string activity: IOpenTrackActivity[] } export interface IVisitActivityGroup extends IActivityGroup { sessionId?: string uTCHour?: string activity: IPageViewActivity[] } export interface IConversationActivityGroup extends IActivityGroup { conversationId?: number inboxId?: number activity: IMessageActivity[] } export interface IGroupedConversationActivityGroup { [conversationId: string]: IConversationActivityGroup } export interface IActivityGroupWithContext extends IActivityGroup { date: string unseen: boolean firstOfDate?: boolean firstOfEmail?: boolean } export interface IActivityGroupState { loading: boolean loaded: boolean activityGroups: IActivityGroup[] activityGroupsByEmail: IActivityGroup[] }