import { AbstractLayout, Dimension, HtmlComponent, HtmlCompPrefSizeOptions, Menu, MenuBar } from '../../index';
export declare class MenuBarLayout extends AbstractLayout {
    collapsed: boolean;
    protected _menuBar: MenuBar;
    protected _overflowMenuItems: Menu[];
    constructor(menuBar: MenuBar);
    layout($container: JQuery): void;
    preferredLayoutSize($container: JQuery, options?: HtmlCompPrefSizeOptions & {
        undo?: boolean;
    }): Dimension;
    /**
     * Moves menu items into _overflowMenuItems until {@link prefSize.width} is smaller than prefWidth.
     * The moved menu items will be removed from the given visibleMenuItems parameter.
     * @returns the calculated preferred size
     */
    protected _prefSizeWithOverflow(visibleMenuItems: Menu[], prefWidth: number): Dimension;
    protected _minSize(visibleMenuItems: Menu[]): Dimension;
    protected _prefSize(menuItems: Menu[], considerEllipsis?: boolean): Dimension;
    protected _menuItemSize(menuItem: Menu): Dimension;
    protected _setFirstLastMenuMarker(visibleMenuItems: Menu[], considerEllipsis?: boolean): void;
    undoOverflow(overflowMenuItems: Menu[]): void;
    /**
     * Makes the text invisible of all shrinkable menus with an icon
     */
    shrink(menus: Menu[]): void;
    undoShrink(menus: Menu[]): void;
    visibleMenuItems(): Menu[];
    static size(htmlMenuBar: HtmlComponent, containerSize: Dimension): Dimension;
}
//# sourceMappingURL=MenuBarLayout.d.ts.map