import { J as Json, S as SdkModule } from '../../module-Bq-w9Ws5.cjs'; import 'graphql-request'; type NotificationChannel = 'DISCORD' | 'EMAIL' | 'IN_APP' | 'PUSH' | 'SLACK' | 'SMS' | 'TEAMS' | 'TELEGRAM' | 'WEBHOOK' | 'WHATSAPP'; type NotificationStatus = 'CANCELLED' | 'DELIVERED' | 'DRAFT' | 'EXPIRED' | 'FAILED' | 'PENDING' | 'READ' | 'SCHEDULED' | 'SENT' | 'TRIGGERED'; type NotificationPriority = 'HIGH' | 'LOW' | 'MEDIUM' | 'URGENT'; type NotificationType = 'ALERT' | 'MARKETING' | 'SYSTEM' | 'TRANSACTIONAL'; type NotificationDeliveryStatus = 'BOUNCED' | 'CLICKED' | 'COMPLAINED' | 'DELIVERED' | 'DELIVERING' | 'FAILED' | 'OPENED' | 'PENDING' | 'PROCESSING' | 'QUEUED' | 'RETRYING' | 'SENT' | 'UNSUBSCRIBED'; type NotificationPreferenceScope = 'CHANNEL' | 'GLOBAL' | 'TOPIC' | 'TYPE'; type NotificationPreferenceFrequency = 'DAILY_DIGEST' | 'IMMEDIATE' | 'NEVER' | 'WEEKLY_DIGEST'; interface Notification { id: string; userId: string; appName?: string | null; channel: NotificationChannel; channelId?: string | null; status: NotificationStatus; deliveryStatus?: NotificationDeliveryStatus | null; priority: NotificationPriority; type: NotificationType; title: string; message: string; subject?: string | null; htmlMessage?: string | null; redirectUrl?: string | null; isRead: boolean; readAt?: string | null; archivedAt?: string | null; triggeredAt?: string | null; sentAt?: string | null; deliveredAt?: string | null; failedAt?: string | null; expiresAt?: string | null; metadata?: Json; data?: Json; createdAt: string; updatedAt: string; } interface NotificationList { items: Notification[]; total: number; hasMore: boolean; } interface NotificationFilterInput { appName?: string; archived?: boolean; channel?: NotificationChannel; deliveryStatus?: NotificationDeliveryStatus; endDate?: string; isRead?: boolean; priority?: NotificationPriority; search?: string; startDate?: string; status?: NotificationStatus; topicId?: string; type?: NotificationType; userId?: string; } interface BatchOperationResult { success: boolean; count: number; failedIds?: string[] | null; } interface NotificationPreference { id: string; userId: string; preferenceKey: string; scope: NotificationPreferenceScope; channel?: NotificationChannel | null; type?: NotificationType | null; topicId?: string | null; enabled: boolean; frequency: NotificationPreferenceFrequency; quietHoursStart?: string | null; quietHoursEnd?: string | null; timezone?: string | null; metadata?: Json; createdAt: string; updatedAt: string; } interface NotificationPreferenceList { items: NotificationPreference[]; total: number; hasMore: boolean; } interface NotificationPreferenceFilterInput { channel?: NotificationChannel; enabled?: boolean; scope?: NotificationPreferenceScope; topicId?: string; type?: NotificationType; userId?: string; } interface CreateNotificationPreferenceInput { scope: NotificationPreferenceScope; channel?: NotificationChannel; type?: NotificationType; topicId?: string; userId?: string; enabled?: boolean; frequency?: NotificationPreferenceFrequency; quietHoursStart?: string; quietHoursEnd?: string; timezone?: string; metadata?: Json; } interface UpdateNotificationPreferenceInput { channel?: NotificationChannel; type?: NotificationType; topicId?: string; enabled?: boolean; frequency?: NotificationPreferenceFrequency; quietHoursStart?: string; quietHoursEnd?: string; timezone?: string; metadata?: Json; scope?: NotificationPreferenceScope; } interface PreferencesApi { get(filter?: NotificationPreferenceFilterInput, opts?: { limit?: number; offset?: number; }): Promise; set(input: CreateNotificationPreferenceInput | UpdateNotificationPreferenceInput, opts?: { id?: string; }): Promise; } interface NotificationsApi { list(filter?: NotificationFilterInput, opts?: { limit?: number; offset?: number; }): Promise; read(ids: string[]): Promise; preferences: PreferencesApi; } declare const notificationsModule: SdkModule; export { type BatchOperationResult, type CreateNotificationPreferenceInput, type Notification, type NotificationChannel, type NotificationDeliveryStatus, type NotificationFilterInput, type NotificationList, type NotificationPreference, type NotificationPreferenceFilterInput, type NotificationPreferenceFrequency, type NotificationPreferenceList, type NotificationPreferenceScope, type NotificationPriority, type NotificationStatus, type NotificationType, type NotificationsApi, type PreferencesApi, type UpdateNotificationPreferenceInput, notificationsModule as default };