1 // Copyright 2018-present 650 Industries. All rights reserved.
2 
3 #import <Foundation/Foundation.h>
4 #import <UIKit/UIKit.h>
5 #import <ExpoModulesCore/EXSingletonModule.h>
6 #import <UserNotifications/UserNotifications.h>
7 #import <EXNotifications/EXNotificationsDelegate.h>
8 
9 NS_ASSUME_NONNULL_BEGIN
10 
11 @protocol EXNotificationCenterDelegate
12 
13 - (void)addDelegate:(id<EXNotificationsDelegate>)delegate;
14 - (void)removeDelegate:(id<EXNotificationsDelegate>)delegate;
15 
16 @end
17 
18 @interface EXNotificationCenterDelegate : EXSingletonModule <UIApplicationDelegate, UNUserNotificationCenterDelegate, EXNotificationCenterDelegate>
19 
20 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(nullable NSDictionary<UIApplicationLaunchOptionsKey,id> *)launchOptions;
21 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler;
22 
23 - (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler;
24 - (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler;
25 - (void)userNotificationCenter:(UNUserNotificationCenter *)center openSettingsForNotification:(nullable UNNotification *)notification;
26 
27 @end
28 
29 NS_ASSUME_NONNULL_END
30