import { FetchStateAndError, ID } from '../../commonStateTypes/common'; import { View } from '../../commonStateTypes/viewAndReport/viewAndReport'; import { NotificationWithAuthors } from '../../entity/notification/types/notificationSelectorTypes'; import { ExternalNotificationData } from '../../entity/notification/types/notificationTypes'; import { RootState } from '../../rootStateTypes'; import { NotificationSubTabType, NotificationTabState, NotificationTabType } from './notificationViewState'; interface NotificationDetails extends NotificationTabState { allNotificationsIdsForSubTab: ID[]; selectedNotificationIdsForSubTab: ID[]; } export interface NotificationView extends View { allExternalNotifications: ExternalNotificationData[]; allNotifications: NotificationWithAuthors[]; allSubTabs: NotificationSubTabType[]; currentSubTab: NotificationSubTabType; currentTab: NotificationTabType; externalNotificationsForCurrentTabAndSubTab: ExternalNotificationData[]; notificationDetailsByTab: Record; notificationsForCurrentTabAndSubTab: NotificationWithAuthors[]; reducedFetchCountState: FetchStateAndError; totalUnreadCount: number; } export declare const getNotificationView: (state: RootState) => NotificationView; /** * Helpers */ export declare const getNotificationsForSelectedSubTab: (notifications: NotificationWithAuthors[], currentSubTab: NotificationSubTabType) => NotificationWithAuthors[]; export declare const getExternalNotificationsForSelectedSubTab: (externalNotifications: ExternalNotificationData[], currentSubTab: NotificationSubTabType) => ExternalNotificationData[]; export {};