1import { DeviceEventEmitter } from 'react-native';
2import ExpoDevMenu from './ExpoDevMenu';
3export function openMenu() {
4    ExpoDevMenu.openMenu();
5}
6export function hideMenu() {
7    ExpoDevMenu.hideMenu();
8}
9export function closeMenu() {
10    ExpoDevMenu.closeMenu();
11}
12let hasRegisteredCallbackListener = false;
13function registerCallbackListener() {
14    if (!hasRegisteredCallbackListener) {
15        DeviceEventEmitter.addListener('registeredCallbackFired', (name) => {
16            hasRegisteredCallbackListener = true;
17            const handler = handlers.get(name);
18            if (handler != null) {
19                handler();
20            }
21        });
22    }
23}
24registerCallbackListener();
25let handlers = new Map();
26export async function registerDevMenuItems(items) {
27    if (!__DEV__) {
28        // resolve undefined
29        return;
30    }
31    handlers = new Map();
32    const callbackNames = [];
33    items.forEach((item) => {
34        handlers.set(item.name, item.callback);
35        callbackNames.push({ name: item.name, shouldCollapse: item.shouldCollapse });
36    });
37    return await ExpoDevMenu.addDevMenuCallbacks(callbackNames);
38}
39//# sourceMappingURL=DevMenu.js.map