1 // Copyright 2015-present 650 Industries. All rights reserved.
2 
3 import Foundation
4 
5 @objc
6 public protocol DevMenuManagerProtocol {
7   /**
8    Whether the dev menu window is visible on the device screen.
9    */
10   @objc
11   var isVisible: Bool { get }
12 
13   /**
14    Opens up the dev menu.
15    */
16   @objc
17   @discardableResult
openMenunull18   func openMenu(_ screen: String?) -> Bool
19 
20   @objc
21   @discardableResult
22   func openMenu() -> Bool
23 
24   /**
25    Sends an event to JS to start collapsing the dev menu bottom sheet.
26    */
27   @objc
28   @discardableResult
29   func closeMenu() -> Bool
30 
31   /**
32    Forces the dev menu to hide. Called by JS once collapsing the bottom sheet finishes.
33    */
34   @objc
35   @discardableResult
36   func hideMenu() -> Bool
37 
38   /**
39    Toggles the visibility of the dev menu.
40    */
41   @objc
42   @discardableResult
43   func toggleMenu() -> Bool
44 }
45