1 // Copyright 2018-present 650 Industries. All rights reserved. 2 3 #import <Foundation/Foundation.h> 4 #import <ExpoModulesCore/EXEventEmitterService.h> 5 #import <UserNotifications/UserNotifications.h> 6 7 NS_ASSUME_NONNULL_BEGIN 8 9 @class EXSingleNotificationHandlerTask; 10 11 @protocol EXSingleNotificationHandlerTaskDelegate 12 13 - (void)taskDidFinish:(EXSingleNotificationHandlerTask *)task; 14 15 @end 16 17 @interface EXSingleNotificationHandlerTask : NSObject 18 19 + (NSArray<NSString *> *)eventNames; 20 21 - (instancetype)initWithEventEmitter:(id<EXEventEmitterService>)eventEmitter 22 notification:(UNNotification *)notification 23 completionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler 24 delegate:(id<EXSingleNotificationHandlerTaskDelegate>)delegate; 25 26 - (NSString *)identifier; 27 28 - (void)start; 29 - (nullable NSError *)handleResponse:(NSDictionary *)response; 30 31 @end 32 33 NS_ASSUME_NONNULL_END 34