1*f67462bcSTomasz Sapeta // Copyright 2015-present 650 Industries. All rights reserved.
2*f67462bcSTomasz Sapeta 
3*f67462bcSTomasz Sapeta #import <React/RCTBridge.h>
4*f67462bcSTomasz Sapeta 
5*f67462bcSTomasz Sapeta @class EXDevMenuManager;
6*f67462bcSTomasz Sapeta 
7*f67462bcSTomasz Sapeta @protocol EXDevMenuDelegateProtocol <NSObject>
8*f67462bcSTomasz Sapeta 
9*f67462bcSTomasz Sapeta @required
10*f67462bcSTomasz Sapeta 
11*f67462bcSTomasz Sapeta /**
12*f67462bcSTomasz Sapeta  * Returns the bridge to which the dev menu is hooked.
13*f67462bcSTomasz Sapeta  * TODO: (@tsapeta) It's gonna be removed once the dev menu moves to have its own bridge.
14*f67462bcSTomasz Sapeta  */
15*f67462bcSTomasz Sapeta - (nonnull RCTBridge *)mainBridgeForDevMenuManager:(nonnull EXDevMenuManager *)manager;
16*f67462bcSTomasz Sapeta 
17*f67462bcSTomasz Sapeta /**
18*f67462bcSTomasz Sapeta  * Returns the bridge of the currently shown app. It is a context of what the dev menu displays.
19*f67462bcSTomasz Sapeta  */
20*f67462bcSTomasz Sapeta - (nullable RCTBridge *)appBridgeForDevMenuManager:(nonnull EXDevMenuManager *)manager;
21*f67462bcSTomasz Sapeta 
22*f67462bcSTomasz Sapeta @optional
23*f67462bcSTomasz Sapeta 
24*f67462bcSTomasz Sapeta /**
25*f67462bcSTomasz Sapeta  * Tells the manager whether it can change dev menu visibility. In some circumstances you may want not to show/close the dev menu.
26*f67462bcSTomasz Sapeta  */
27*f67462bcSTomasz Sapeta - (BOOL)devMenuManager:(nonnull EXDevMenuManager *)manager canChangeVisibility:(BOOL)visibility;
28*f67462bcSTomasz Sapeta 
29*f67462bcSTomasz Sapeta @end
30