import { Toolbar as tool } from '@syncfusion/ej2-navigations';
import { IGrid, NotifyArgs, RefreshToolbarItemsArgs } from '../base/interface';
import { ServiceLocator } from '../services/service-locator';
/**
 *
 * The `Toolbar` module is used to handle ToolBar actions.
 */
export declare class Toolbar {
    /** @hidden */
    element: HTMLElement;
    private predefinedItems;
    toolbar: tool;
    private searchElement;
    private gridID;
    protected sIcon: HTMLElement;
    private isSearched;
    private parent;
    private rowSelectedFunction;
    private rowDeSelectedFunction;
    private serviceLocator;
    private l10n;
    private items;
    private searchBoxObj;
    private evtHandlers;
    private isRightToolbarMenu;
    private responsiveToolbarMenu;
    private toolbarMenuElement;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private render;
    private isResponsiveToolbarMenuItems;
    /**
     * Gets the toolbar of the Grid.
     *
     * @returns {Element} returns the element
     * @hidden
     */
    getToolbar(): Element;
    /**
     * Destroys the ToolBar.
     *
     * @function destroy
     * @returns {void}
     */
    destroy(): void;
    private bindSearchEvents;
    private toolbarCreated;
    private createToolbar;
    private addReactToolbarPortals;
    private renderResponsiveSearch;
    private refreshResponsiveToolbarItems;
    /**
     * Refreshes the toolbar items
     *
     * @param {RefreshToolbarItemsArgs} args - Defines the editSettings model and name.
     * @returns {void}
     * @hidden
     */
    refreshToolbarItems(args?: RefreshToolbarItemsArgs): void;
    private getItems;
    private getItem;
    private getItemObject;
    /**
     * Enables or disables ToolBar items.
     *
     * @param {string[]} items - Defines the collection of itemID of ToolBar items.
     * @param {boolean} isEnable - Defines the items to be enabled or disabled.
     * @returns {void}
     * @hidden
     */
    enableItems(items: string[], isEnable: boolean): void;
    private toolbarClickHandler;
    private openResponsiveToolbarMenuPopup;
    private getMenuItems;
    private getLocaleText;
    private renderResponsiveToolbarpopup;
    private ResponsiveToolbarMenuItemClick;
    private beforeOpenResponsiveToolbarMenuItem;
    private modelChanged;
    protected onPropertyChanged(e: NotifyArgs): void;
    private keyUpHandler;
    private search;
    private updateSearchBox;
    private wireEvent;
    private unWireEvent;
    private onFocusIn;
    private onFocusOut;
    private setFocusToolbarItem;
    getFocusableToolbarItems(): Element[];
    private keyPressedHandler;
    private reRenderToolbar;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private removeResponsiveSearch;
    private rowSelected;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     */
    private getModuleName;
}
