import { Notification, NotificationCount } from '@/lib/types/notification'; export interface NotificationAdapter { /** * The source name of this notification adapter */ readonly sourceName: string; /** * Fetch all notifications for a user * @param userId The user ID * @param page Page number for pagination * @param limit Number of items per page * @returns Promise with notification data */ getNotifications(userId: string, page?: number, limit?: number): Promise; /** * Get count of notifications for a user * @param userId The user ID * @returns Promise with notification count data */ getNotificationCount(userId: string): Promise; /** * Mark a specific notification as read * @param userId The user ID * @param notificationId The notification ID * @returns Promise with success status */ markAsRead(userId: string, notificationId: string): Promise; /** * Mark all notifications as read * @param userId The user ID * @returns Promise with success status */ markAllAsRead(userId: string): Promise; /** * Check if this adapter is configured and ready to use * @returns Promise with boolean indicating if adapter is ready */ isConfigured(): Promise; }