import UserNotifications

/// Developer-extensible hook for pre-processing notification content.
///
/// To use: create a Swift file in your project and implement the static method.
/// Point to it via the config plugin's `extensionHookFile` option.
///
/// Example:
/// ```swift
/// import UserNotifications
///
/// extension NotificationHook {
///   static func willProcessNotificationOverride(
///     content: UNMutableNotificationContent
///   ) -> UNMutableNotificationContent {
///     // Decrypt body, modify title, etc.
///     return content
///   }
/// }
/// ```
enum NotificationHook {

  /// Called before the library processes the notification.
  /// Override by providing an `extensionHookFile` via the config plugin.
  /// The default implementation is a no-op passthrough.
  static func willProcessNotification(
    content: UNMutableNotificationContent
  ) -> UNMutableNotificationContent {
    return content
  }
}
