#import #import typedef void (^RNNTransitionCompletionBlock)(void); typedef void (^RNNTransitionWithComponentIdCompletionBlock)(NSString *componentId); typedef void (^RNNTransitionRejectionBlock)(NSString *code, NSString *message, NSError *error); @protocol RNNModalManagerDelegate - (void)dismissedModal:(UIViewController *)viewController; - (void)attemptedToDismissModal:(UIViewController *)viewController; - (void)dismissedMultipleModals:(NSArray *)viewControllers; @end @interface RNNModalManager : NSObject @property (nonatomic, weak) id delegate; - (void)showModal:(UIViewController *)viewController animated:(BOOL)animated completion:(RNNTransitionWithComponentIdCompletionBlock)completion; - (void)showModal:(UIViewController *)viewController animated:(BOOL)animated hasCustomAnimation:(BOOL)hasCustomAnimation completion:(RNNTransitionWithComponentIdCompletionBlock)completion; - (void)dismissModal:(UIViewController *)viewController completion:(RNNTransitionCompletionBlock)completion; - (void)dismissAllModalsAnimated:(BOOL)animated completion:(void (^ __nullable)(void))completion; - (void)dismissAllModalsSynchronosly; @end