import type { NotificationEvent } from '../publisher.js'; export interface NotificationRecord { userId: string; type: string; category: string; title: string; body: string; icon?: string; image?: string; actionType?: string; actionUrl?: string; actionData?: Record; channelsInApp: boolean; channelsPush: boolean; channelsEmail: boolean; status: string; priority: string; sourceApp?: string; sourceEventId?: string; groupKey?: string; data?: Record; dedupKey?: string; expiresAt?: Date; createdAt: Date; } export interface PersistedNotification { id: string; userId: string; [key: string]: unknown; } export interface INotificationTargetResolver { resolveUsers(event: NotificationEvent): Promise; } export interface INotificationPersister { persistBatch(records: NotificationRecord[]): Promise; } export interface INotificationRealtimeSignaler { signal(userId: string): Promise; signalBatch(userIds: string[]): Promise; } //# sourceMappingURL=worker.interfaces.d.ts.map