import type { C3NotificationsProps } from '../components/c3-navigation/c3-navigation.types'; import { type RequestResponse } from './api'; export interface Notification { uuid: string; userId?: string; orgId?: string; timestamp: number; source: string; type: string; title: string; description: string; state: string; meta?: { identifier?: string; href?: string; label?: string; entity?: { id: string; type: string; }; parentEntity?: { id: string; type: string; }; }; } export type AnalyticsEvent = 'notification-panel-opened' | 'notification-clicked-cta'; export declare class NotificationService { static getNotifications(options: C3NotificationsProps): Promise>; static sendAnalyticsEvent(options: C3NotificationsProps, eventOptions: { event: AnalyticsEvent; id?: string; }): void; static changeState(options: C3NotificationsProps, notificationId: string, operation: 'read' | 'dismiss'): void; static markManyAsRead(options: C3NotificationsProps, notificationIds: string[]): void; static dismissAll(options: C3NotificationsProps, orgId: string): void; static notificationsStream(options: C3NotificationsProps, handler: (notification: Notification) => void): void; static updateNotifications(allNotifications: Notification[], newNotification: Notification): Notification[]; static updateNotificationState(allNotifications: Notification[], notificationId: string, newState: 'read' | 'dismiss'): Notification[]; static updateNotificationStates(allNotifications: Notification[], notificationIds: string[], newState: 'read' | 'dismiss'): Notification[]; }