export interface NotifierMessagePayload { subject: string; body: string; cta?: string; ctaLink?: string; } export declare abstract class Notifier { from: string; messageLimit: number; /** * Generate the notification via `buildNotification` and store it * Also check if there are any notifications to remove with `pruneNotifications` */ run(): Promise; /** * Generate the notification to store (or null) */ abstract buildNotification(): Promise; storeOrUpdateNotification(notificationPayload: NotifierMessagePayload): Promise; /** * Remove all notifications from this notifier */ clearNotifications(): Promise; pruneNotifications(): Promise; }