export interface NotificationProps { notifications: HermesNotification[]; error?: boolean; noPerms?: boolean; onClick?: () => void; onNotificationClick?: OnNotificationClick; } export enum NotificationErrorState { ERROR = 'ERROR', NO_PERMS = 'NO_PERMS', } export type OnNotificationClick = (notification?: HermesNotification) => void; export enum HermesNotificationType { INFO = 'INFO', ACTION = 'ACTION', } export enum HermesNotificationSenderType { system = 'system', user = 'user', } export enum HermesNotificationSender { KDS = 'KDS', KIS = 'KIS', ERROR = 'Error', PERMS = 'Permisos', } export enum HermesNotificationPriority { HIGH = 'HIGH', NORMAL = 'NORMAL', } export interface HermesNotificationDestinatary { type: string; value: string; } export interface HermesNotification { id: string; to: HermesNotificationDestinatary; payload: { title: string; body: string; image: string; data: Record; }; type: HermesNotificationType; sender: { type: HermesNotificationSenderType; id: HermesNotificationSender | string; }; action?: { redirectUrl: string; name: string; }; createdAt: string; priority: HermesNotificationPriority; }