/** @module Viewer/Toolbar */ /** */
import { ToolbarView } from '../components/Toolbar';
import type { ToolbarItem, ToolbarLayout } from '../components/Toolbar';
export { ToolbarItem, ToolbarLayout };
/** Viewer toolbar. */
export declare class Toolbar {
    private _view;
    /** @hidden */
    constructor(_view: ToolbarView);
    /** Adds a new item to the toolbar.
     *
     * ```javascript
     * var pdfExportButton = {
     *     key: '$pdfExportButtonKey',
     *     iconCssClass: 'mdi mdi-file-pdf',
     *     enabled: true,
     *     action: function(item) {
     *         console.log('Export to PDF function works here');
     *     },
     *     onUpdate: function(arg, item) {
     *         console.log('Something in viewer was updated, check/update button state here');
     *     }
     * };
     * viewer.toolbar.addItem(pdfExportButton);
     * ```
     *
     * @param item  An item to be added.
     */
    addItem(item: ToolbarItem): void;
    /** Updates a previously added toolbar item.
     *
     * @param key  the toolbar item key, as it was specified in the addItem parameters.
     * @param itemUpdate  New toolbar item settings.
     */
    updateItem(key: string, itemUpdate?: Partial<ToolbarItem>): void;
    /** Removes a toolbar item.
     * @param key  The toolbar item key, as it was specified in the addItem parameters.
     */
    removeItem(key: string): void;
    /**
     * Defines the toolbar items layout (order and visibility) for different view modes.
     * A parameter is an object with default, full-screen, mobile mode properties (each property is an array of items to be shown in specific views). Setting to default will only affect all modes (full-screen, mobile) if they are not specified externally.
     *
     * ```javascript
     * viewer.toolbar.addItem(pdfExportButton); //now you want to remove everything except pdfExportButton and the navigation block.
     * viewer.toolbar.updateLayout({default: ['$pdfExportButtonKey', '$navigation']});
     * ```
     *
     * will create a toolbar with the export button and the "navigation" block.
     */
    updateLayout(layout: ToolbarLayout): void;
    /** Gets the list of default toolbar items. */
    getDefaultToolbarItems(): string[];
}
