/** @public */ export type NotificationSeverity = 'critical' | 'high' | 'normal' | 'low'; /** @public */ export type NotificationPayload = { title: string; description?: string; link?: string; severity?: NotificationSeverity; topic?: string; scope?: string; icon?: string; }; /** @public */ export type Notification = { id: string; user: string; created: Date; saved?: Date; read?: Date; updated?: Date; origin: string; payload: NotificationPayload; }; /** @public */ export type NotificationStatus = { unread: number; read: number; }; /** @public */ export type NewNotificationSignal = { action: 'new_notification'; notification_id: string; }; /** @public */ export type NotificationReadSignal = { action: 'notification_read' | 'notification_unread'; notification_ids: string[]; }; /** @public */ export type NotificationSignal = NewNotificationSignal | NotificationReadSignal;