/** * Methods for creating and manipulating context menus in a native ToDesktop * window. * * @remarks * This package exposes a number of methods for creating and manipulating * context menus in a native ToDesktop window. * * @see {@link https://docs.todesktop.com} * @experimental * @public * @packageDocumentation */ /** * @public */ export declare type ContextMenuItemBase = { onClick?(): void; type?: "normal" | "separator" | "submenu" | "checkbox" | "radio"; }; /** * @public */ export declare type ContextMenuItemLabel = { label: string; }; /** * @public */ export declare type ContextMenuItemRole = { role: "undo" | "redo" | "cut" | "copy" | "paste" | "pasteAndMatchStyle" | "delete" | "selectAll" | "reload" | "forceReload" | "toggleDevTools" | "resetZoom" | "zoomIn" | "zoomOut" | "togglefullscreen" | "window" | "minimize" | "close" | "help" | "about" | "services" | "hide" | "hideOthers" | "unhide" | "quit" | "startSpeaking" | "stopSpeaking" | "zoom" | "front" | "appMenu" | "fileMenu" | "editMenu" | "viewMenu" | "shareMenu" | "recentDocuments" | "toggleTabBar" | "selectNextTab" | "selectPreviousTab" | "mergeAllWindows" | "clearRecentDocuments" | "moveTabToNewWindow" | "windowMenu"; }; /** * @public */ export declare type ContextMenuItem = ContextMenuItemBase & (ContextMenuItemLabel | ContextMenuItemRole); /** * Creates and presents a context menu. * If the user's cursor is within the bounds of the current window, the * context menu will be appear at the cursor position. * * @param config - A single {@link ContextMenuItem} or array of * {@link ContextMenuItem}s to present. * @public */ export declare function create(config: ContextMenuItem[] | ContextMenuItem): Promise;