{"version":3,"file":"notification.mjs","sourceRoot":"","sources":["../../../../src/NotificationServicesController/types/notification/notification.ts"],"names":[],"mappings":"","sourcesContent":["import type { FeatureAnnouncementRawNotification } from '../feature-announcement/feature-announcement';\nimport type { NormalisedAPINotification } from '../notification-api/notification-api';\nimport type { RawSnapNotification } from '../snaps';\nimport type { Compute } from '../type-utils';\n\nexport type BaseNotification = {\n  id: string;\n  createdAt: string;\n  isRead: boolean;\n};\n\nexport type RawNotificationUnion =\n  | NormalisedAPINotification\n  | FeatureAnnouncementRawNotification\n  | RawSnapNotification;\n\n/**\n * The shape of a \"generic\" notification.\n * Other than the fields listed below, tt will also contain:\n * - `type` field (declared in the Raw shapes)\n * - `data` field (declared in the Raw shapes)\n */\nexport type INotification = Compute<\n  | (FeatureAnnouncementRawNotification & BaseNotification)\n  | (NormalisedAPINotification & BaseNotification)\n  | (RawSnapNotification & BaseNotification & { readDate?: string | null })\n>;\n\nexport type MarkAsReadNotificationsParam = Pick<\n  INotification,\n  'id' | 'type' | 'isRead'\n>[];\n"]}