import { BaseEntityClass } from '../base/base.entity'; import { NOTIFICATION_CHANNEL } from './enum'; import { ContactEntity } from '..'; export declare enum REMOTE_RECORD_SERVICE { FIREBASE = "firebase", POSTMARK = "postmark", SMTP = "smtp", APPLE_PUSH_NOTIFICATIONS = "apple_push_notifications" } export interface RemoteRecord { id: string; service: REMOTE_RECORD_SERVICE; } export interface TrackingEvents { delivery: boolean; bounce: boolean; spamComplaint: boolean; open: boolean; linkClick: boolean; subscriptionChange: boolean; events: any[]; } export declare class NotificationEntity extends BaseEntityClass { channel: NOTIFICATION_CHANNEL; /** * A reference pointing to a specific action or event type * users.create * users.transfer * users.delete * notifications.send.push * devices.register * devices.updates.roles * ... */ topic: string; content: any; remoteRecord: RemoteRecord; trackingEvents: TrackingEvents; delivered: boolean; /** * To be able to query by contact */ contacts: ContactEntity[]; }