1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #import <ABI49_0_0React/ABI49_0_0RCTConvert.h>
9 #import <ABI49_0_0React/ABI49_0_0RCTInvalidating.h>
10 #import <ABI49_0_0React/ABI49_0_0RCTViewManager.h>
11 
12 @interface ABI49_0_0RCTConvert (ABI49_0_0RCTModalHostView)
13 
14 + (UIModalPresentationStyle)UIModalPresentationStyle:(id)json;
15 
16 @end
17 
18 typedef void (^ABI49_0_0RCTModalViewInteractionBlock)(
19     UIViewController *ABI49_0_0ReactViewController,
20     UIViewController *viewController,
21     BOOL animated,
22     dispatch_block_t completionBlock);
23 
24 @interface ABI49_0_0RCTModalHostViewManager : ABI49_0_0RCTViewManager <ABI49_0_0RCTInvalidating>
25 
26 /**
27  * `presentationBlock` and `dismissalBlock` allow you to control how a Modal interacts with your case,
28  * e.g. in case you have a native navigator that has its own way to display a modal.
29  * If these are not specified, it falls back to the UIViewController standard way of presenting.
30  */
31 @property (nonatomic, strong) ABI49_0_0RCTModalViewInteractionBlock presentationBlock;
32 @property (nonatomic, strong) ABI49_0_0RCTModalViewInteractionBlock dismissalBlock;
33 
34 @end
35