import { Message } from '@lumino/messaging';
import { ElementARIAAttrs, ElementDataset, h, VirtualElement } from '@lumino/virtualdom';
import { Menu } from './menu';
import { Title } from './title';
import { Widget } from './widget';
/**
* A widget which displays menus as a canonical menu bar.
*/
export declare class MenuBar extends Widget {
/**
* Construct a new menu bar.
*
* @param options - The options for initializing the menu bar.
*/
constructor(options?: MenuBar.IOptions);
/**
* Dispose of the resources held by the widget.
*/
dispose(): void;
/**
* The renderer used by the menu bar.
*/
readonly renderer: MenuBar.IRenderer;
/**
* The child menu of the menu bar.
*
* #### Notes
* This will be `null` if the menu bar does not have an open menu.
*/
get childMenu(): Menu | null;
/**
* The overflow index of the menu bar.
*/
get overflowIndex(): number;
/**
* The overflow menu of the menu bar.
*/
get overflowMenu(): Menu | null;
/**
* Get the menu bar content node.
*
* #### Notes
* This is the node which holds the menu title nodes.
*
* Modifying this node directly can lead to undefined behavior.
*/
get contentNode(): HTMLUListElement;
/**
* Get the currently active menu.
*/
get activeMenu(): Menu | null;
/**
* Set the currently active menu.
*
* #### Notes
* If the menu does not exist, the menu will be set to `null`.
*/
set activeMenu(value: Menu | null);
/**
* Get the index of the currently active menu.
*
* #### Notes
* This will be `-1` if no menu is active.
*/
get activeIndex(): number;
/**
* Set the index of the currently active menu.
*
* #### Notes
* If the menu cannot be activated, the index will be set to `-1`.
*/
set activeIndex(value: number);
/**
* A read-only array of the menus in the menu bar.
*/
get menus(): ReadonlyArray