/**
 * Methods for manipulating native menus in ToDesktop.
 *
 * @remarks
 * This package exposes a number of methods for manipulating native menus wthin
 * ToDesktop windows.
 *
 * On macOS, these menus are displayed at the top of the user's screen in the
 * top bar. On Windows and Linux, these menus are displayed under the window
 * title bar.
 *
 * @see {@link https://docs.todesktop.com}
 * @experimental
 * @public
 * @packageDocumentation
 */
/**
 * Configuration object for a native menu item.
 *
 * @public
 */
export declare type MenuItemOptions = {
    accelerator: string;
};
/**
 * Adds an item to the Application's menu bar.
 *
 * @public
 */
export declare function add(parentMenu: string, label: string, handler: () => void, options: MenuItemOptions): Promise<void>;
/**
 * Triggers the application's menu bar UI to refresh.
 * Useful after adding new menu items.
 *
 * @public
 */
export declare function refresh(): Promise<void>;
/**
 * Subscribes to a click event from the application menu
 *
 * @param event - The name of the event to subscribe to.
 * @param callback - The function to be invoked when this event is triggered.
 * @returns A callback for unsubscribing from the click event.
 * @public
 *
 * @deprecated import `object` from `@todesktop/client-core` and use `object.on` instead.
 */
export declare function on(event: string, callback: (event: string) => void): Promise<() => void>;
