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 @objc 14 var delegate: DevMenuDelegateProtocol? { get set } 15 16 /** 17 Opens up the dev menu. 18 */ 19 @objc 20 @discardableResult 21 func openMenu(_ screen: String?) -> Bool 22 23 @objc 24 @discardableResult 25 func openMenu() -> Bool 26 27 /** 28 Sends an event to JS to start collapsing the dev menu bottom sheet. 29 */ 30 @objc 31 @discardableResult 32 func closeMenu() -> Bool 33 34 /** 35 Forces the dev menu to hide. Called by JS once collapsing the bottom sheet finishes. 36 */ 37 @objc 38 @discardableResult 39 func hideMenu() -> Bool 40 41 /** 42 Toggles the visibility of the dev menu. 43 */ 44 @objc 45 @discardableResult 46 func toggleMenu() -> Bool 47 48 @objc 49 var expoApiClient: DevMenuExpoApiClientProtocol { get } 50 } 51