import { Desktop, Event, EventHandler, InitModelOf, ObjectOrChildModel, PropertyChangeEvent, TabbableCoordinator, ViewButton, ViewButtonBoxEventMap, ViewButtonBoxModel, ViewMenuTab, Widget } from '../../index';
export declare class ViewButtonBox extends Widget implements ViewButtonBoxModel {
    model: ViewButtonBoxModel;
    eventMap: ViewButtonBoxEventMap;
    self: ViewButtonBox;
    desktop: Desktop;
    viewMenuTab: ViewMenuTab;
    viewButtons: ViewButton[];
    menuButtons: ViewButton[];
    tabButtons: ViewButton[];
    selectedMenuButtonAlwaysVisible: boolean;
    tabbableCoordinator: TabbableCoordinator;
    protected _desktopOutlineChangeHandler: EventHandler<Event<Desktop>>;
    protected _viewButtonPropertyChangeHandler: EventHandler<PropertyChangeEvent<any, ViewButton>>;
    constructor();
    protected _init(model: InitModelOf<this>): void;
    protected _render(): void;
    protected _renderProperties(): void;
    protected _remove(): void;
    setSelectedMenuButtonVisible(selectedMenuButtonVisible: boolean): void;
    setSelectedMenuButtonAlwaysVisible(selectedMenuButtonAlwaysVisible: boolean): void;
    protected _setSelectedMenuButtonAlwaysVisible(selectedMenuButtonAlwaysVisible: boolean): void;
    setViewButtons(viewButtons: ObjectOrChildModel<ViewButton>[]): void;
    protected _setViewButtons(viewButtons: ViewButton[]): void;
    protected _setTabButtons(tabButtons: ViewButton[]): void;
    protected _removeTabButtons(): void;
    protected _renderTabButtons(): void;
    protected _updateViewButtons(): void;
    protected _updateTabbableItems(): void;
    protected _updateVisibility(): void;
    protected _setMenuButtons(menuButtons: ViewButton[]): void;
    protected _updateSelectedMenuButtonVisibility(): void;
    /**
     * This method updates the state of the view-menu-tab and the selected state of outline-view-button-box.
     * This method must also work in offline mode.
     */
    protected _onDesktopOutlineChange(): void;
    protected _onViewButtonSelected(event: PropertyChangeEvent<boolean, ViewButton>): void;
    protected _onViewButtonPropertyChange(event: PropertyChangeEvent<any, ViewButton>): void;
}
//# sourceMappingURL=ViewButtonBox.d.ts.map