export interface Notification {
  notificationId: string;
  userId: string;
  requestId?: string;
  notificationType: string;
  title: string;
  message: string;
  isRead: boolean;
  priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'URGENT';
  actionUrl?: string;
  actionRequired: boolean;
  metadata?: any;
  sentVia: string[];
  emailSent: boolean;
  smsSent: boolean;
  pushSent: boolean;
  readAt?: Date;
  expiresAt?: Date;
  createdAt: Date;
}

export interface CreateNotification {
  userId: string;
  requestId?: string;
  notificationType: string;
  title: string;
  message: string;
  priority?: 'LOW' | 'MEDIUM' | 'HIGH' | 'URGENT';
  actionUrl?: string;
  actionRequired?: boolean;
  metadata?: any;
  sentVia?: string[];
  expiresAt?: Date;
}

export interface NotificationPreferences {
  emailEnabled: boolean;
  smsEnabled: boolean;
  pushEnabled: boolean;
  inAppEnabled: boolean;
}
