import { AfterViewInit, ChangeDetectorRef, ElementRef, NgZone, OnDestroy, QueryList } from "@angular/core";
import { LoggerService } from "../../services/log-service";
import { ButtonComponent } from "../button/button.component";
import { MenuComponent } from "../menu";
import { IToolbarGroupContent, IToolbarSelectionState } from "./public-api";
import { ToolbarGroupComponent } from "./toolbar-group.component";
import { ToolbarItemComponent } from "./toolbar-item.component";
import { ToolbarKeyboardService } from "./toolbar-keyboard.service";
import * as i0 from "@angular/core";
/**
 * NUI wrapper for toolbar control. It groups toolbar items (nui-toolbar-item),
 * which can be aligned to the left or to the right side of the bar. Items are aligned to the left by default.
 * Use nui-toolbar-splitter to determine the place where the right alignment starts.
 * Use nui-toolbar-divider to display a vertical line between items.
 * <example-url>./../examples/index.html#/toolbar</example-url>
 */
export declare class ToolbarComponent implements AfterViewInit, OnDestroy {
    element: ElementRef;
    private changeDetector;
    private logger;
    private ngZone;
    private keyboardService;
    groups: QueryList<ToolbarGroupComponent>;
    items: QueryList<ToolbarItemComponent>;
    selectionEnabled: boolean;
    /**
     * In selection mode allows to show current selected item and total of selected items
     */
    selectedItems: IToolbarSelectionState;
    boxShadow: boolean;
    toolbarContainer: ElementRef;
    noEmptyMessage: boolean;
    menu: MenuComponent;
    toolbarButtons: QueryList<ButtonComponent>;
    commandGroups: IToolbarGroupContent[];
    menuGroups: IToolbarGroupContent[];
    showMenu: boolean;
    allItemsHidden: boolean;
    commandsTitle: string;
    moreTitle: string;
    private lastChildBorder;
    private toolbarItems;
    private childrenSubscription;
    private destructiveItems;
    private destroy$;
    constructor(element: ElementRef, changeDetector: ChangeDetectorRef, logger: LoggerService, ngZone: NgZone, keyboardService: ToolbarKeyboardService);
    onKeyDown(event: KeyboardEvent): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onClickToolbarBtn(event: MouseEvent, commandItem: ToolbarItemComponent): void;
    moveToolbarItems(): void;
    splitToolbarItems(): void;
    makeAllItemsVisible(): void;
    handleSelectionState(): string;
    get menuTitle(): string;
    get destructiveIsLastItem(): boolean;
    private subscribeToToolbarStepsChanges;
    static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "nui-toolbar", never, { "selectionEnabled": "selectionEnabled"; "selectedItems": "selectedItems"; "boxShadow": "boxShadow"; "noEmptyMessage": "noEmptyMessage"; }, {}, ["groups", "items"], ["nui-toolbar-message", "*", ".nui-toolbar-embedded"], false, never>;
}
