import { AfterViewInit, DoCheck, ElementRef, EventEmitter, Injector, IterableDiffers, OnDestroy, Renderer2 } from '@angular/core';
import { Strings } from '../../../../generated/strings';
import { Layout } from '../../../common/layout';
import { DropdownComponent } from '../../../dropdown/dropdown.component';
import { ActionItem } from '../../items/action-item.component';
import { ActionContainerOrientation } from '../action-container';
import { ActionContainerComponent } from '../action-container.component';
import * as i0 from "@angular/core";
/**
 *
 * @smeDoc {@label Actions @id sme-actions}
 *
 * @overview
 * @file {@filepath ./examples/overview.md}
 *
 * @example {@label Defined actions from component @id defined-actions-from-component}
 * @file {@filename component.html @filepath ./examples/defined-actions-from-component.component.html}
 * @file {@filename component.ts @filepath ./examples/actions-example.component.ts}
 *
 * @example {@label Defined actions from html @id defined-actions-from-html}
 * @file {@filename component.html @filepath ./examples/defined-actions-from-html.component.html}
 * @file {@filename component.ts @filepath ./examples/actions-example.component.ts}
 *
 * @example {@label Defined actions from both @id defined-actions-from-both}
 * @file {@filename component.html @filepath ./examples/defined-actions-from-both.component.html}
 * @file {@filename component.ts @filepath ./examples/actions-example.component.ts}
 *
 * @example {@label All buttons disabled @id all-buttons-disabled}
 * @file {@filename component.html @filepath ./examples/all-buttons-disabled.component.html}
 * @file {@filename component.ts @filepath ./examples/actions-example.component.ts}
 *
 * @example {@label Model driven action bar @id model-driven}
 * @file {@filename component.html @filepath ./examples/model-driven.component.html}
 * @file {@filename component.ts @filepath ./examples/actions-example.component.ts}
 *
 * @example {@label Container embedded action bar @id container-embedded-action-bar}
 * @file {@filename component.html @filepath ./examples/container-embedded-action-bar.component.html}
 * @file {@filename component.ts @filepath ./examples/actions-example.component.ts}
 */
export declare class ActionBarComponent extends ActionContainerComponent implements DoCheck, AfterViewInit, OnDestroy {
    renderer: Renderer2;
    hostElement: ElementRef;
    protected logSourceName: string;
    /**
     * Flag that when set will display minimal UI for the action bar.
     */
    get compact(): boolean;
    /**
     * Attribute that sets vertical or horizontal orientation where vertical displays action bar from top to bottom of page
     * and horizontal displays action bar from left to right.
     */
    get orientation(): ActionContainerOrientation;
    /**
     * List of ActionItem objects that we want to perform.
     */
    displayedActions: ActionItem[];
    /**
     * List of ActionItem objects that are collapsed into dropdown.
     */
    trayActions: ActionItem[];
    /**
     * Text displayed for tray dropdown.
     */
    moreActionsDisplay: string;
    /**
     * Label on action menu for accessibility.
     */
    actionsAriaLabel: string;
    /**
     * Flag to make sure if the height of the bar is currently greater than the available height of the target,
     * then the items are adjusted accordingly.
     */
    heightOverflow: boolean;
    /**
     * Button element for tray dropdown.
     */
    moreButtonElement: HTMLElement;
    /**
     * Localized set of strings.
     */
    strings: Strings;
    private isCompact;
    private hovered;
    private focused;
    private attachedTo;
    private shouldShow;
    private isVisible;
    private layoutSubscription;
    /**
     * Event fired when list of ActionItems changes.
     */
    actionsUpdated: EventEmitter<any>;
    private get isAttached();
    private element;
    private dropDownButtonElement;
    /**
     * DropdownComponent element for action tray.
     */
    dropDown: DropdownComponent;
    /**
     * Constructor for the ActionBarComponent.
     */
    constructor(iterableDiffers: IterableDiffers, renderer: Renderer2, hostElement: ElementRef, layout: Layout, injector: Injector);
    /**
     * Filters out ActionItem objects to be hidden.
     * @param items ActionItem objects to check.
     * @returns List of unhidden ActionItem objects.
     */
    hiddenFilter(items: ActionItem[]): ActionItem[];
    /**
     * Callback triggered after view initializes.
     */
    ngAfterViewInit(): void;
    /**
     * Callback triggered after component is destroyed.
     */
    ngOnDestroy(): void;
    /**
     * On layout changed event handler, occurs every time the layout has been changed.
     */
    private onLayoutChanged;
    /**
     * Host listeners for focus events.
     */
    onFocusEvent(event: Event): void;
    /**
     * Host listeners for keyboard events.
     */
    onToggleKeydown(event: KeyboardEvent): void;
    /**
     * Host listeners for mouse events.
     */
    onMouseEvent(event: Event): void;
    /**
     * Host listener for page resize event.
     */
    onResize(): void;
    /**
     * Callback triggered after child ActionItem changes.
     */
    onActionItemChanged(): void;
    private updateHeight;
    /**
     * Method to set visibility for ActionBarComponent.
     * @param isVisible True for visible, false for not.
     */
    setVisibility(isVisible: boolean): void;
    /**
     * Method to set visibility for ActionBarComponent.
     * @param shouldShow True for showing, false for not.
     */
    showHide(shouldShow: boolean): void;
    /**
     * Repositions given HTMLElement to be relative to its sibling element.
     * @param element Element to reposition.
     * @param compact Boolean flag to set whether or not ActionBarComponent should be compact.
     */
    repositionRelativeTo(element: HTMLElement, compact: boolean): void;
    /**
     * Method to update how ActionBarComponent is displayed.
     */
    updateActionBar(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ActionBarComponent, [null, null, null, { optional: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ActionBarComponent, "sme-action-bar", never, {}, { "actionsUpdated": "actionsUpdated"; }, never, ["*"], false, never>;
}
