/** * Copyright 2018-present Facebook. * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * @format */ type Electron$BrowserWindow = any; type Electron$NativeImage = any; type Electron$MenuRoles = | 'undo' | 'redo' | 'cut' | 'copy' | 'paste' | 'pasteandmatchstyle' | 'selectall' | 'delete' | 'minimize' | 'close' | 'quit' | 'togglefullscreen' // macOS-only | 'about' | 'hide' | 'hideothers' | 'unhide' | 'front' | 'zoom' | 'window' | 'help' | 'services'; type Electron$MenuType = | 'normal' | 'separator' | 'submenu' | 'checkbox' | 'radio'; type Electron$MenuItemOptions = { click?: ( menuItem: Electron$MenuItem, browserWindow: Object, event: Object, ) => mixed, role?: Electron$MenuRoles, type?: Electron$MenuType, label?: string, sublabel?: string, accelerator?: string, icon?: Object, enabled?: boolean, visible?: boolean, checked?: boolean, submenu?: Electron$MenuItem | Electron$MenuItemOptions, id?: string, position?: string, }; declare class Electron$MenuItem { constructor: (options: Electron$MenuItemOptions) => void; enabled: boolean; visible: boolean; checked: boolean; } declare class Electron$Menu { static setApplicationMenu: (menu: Electron$Menu) => void; static getApplicationMenu: () => ?Electron$Menu; static sendActionToFirstResponder: (action: string) => void; static buildFromTemplate: ( templates: Array, ) => Electron$Menu; popup: ( browserWindow: Object, x?: number, y?: number, positioningItem?: number, ) => void; popup: (x?: number, y?: number, positioningItem?: number) => void; append: (menuItem: Electron$MenuItem) => void; insert: (pos: number, menuItem: Electron$MenuItem) => void; items: Array; }