import { ResolverEndpointConfig, ResolverResponse, RetryConfig } from "./resolver.data.model"; import { User } from "./user.data.model"; export interface NotificationDataProvider { get?: (request: GetNotificationResolverRequest) => Promise>>; delete?: (request: DeleteNotificationResolverRequest) => Promise>; config?: NotificationResolverConfig; } export interface NotificationResolverConfig { resolveTimeout?: number; getRetryConfig?: RetryConfig; deleteRetryConfig?: RetryConfig; getConfig?: ResolverEndpointConfig; deleteConfig?: ResolverEndpointConfig; } export interface GetNotificationResolverRequest { organizationId: string; notificationIds: string[]; } export interface DeleteNotificationResolverRequest { notificationId: string; organizationId: string; } export interface PartialNotification { notificationId: string; displayHeadlineMessageTemplate?: string; displayHeadlineMessageTemplateData?: { actionUser?: User; recipientUser?: User; actionMessage?: string; [key: string]: any; }; displayBodyMessage?: string; displayBodyMessageTemplate?: string; displayBodyMessageTemplateData?: { [key: string]: any; }; notificationSourceData?: any; [key: string]: any; }