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