import { EventEmitter } from '../../stencil-public-runtime';
import { ListSeparator } from '../list-item/list-item.types';
import { OpenDirection } from '../menu/menu.types';
import { ActionBarItem } from './action-bar.types';
import { Languages } from './../date-picker/date.types';
/**
 * An action bar is a user interface element commonly found in software applications and websites.
 * It typically appears at the top of the screen or within a specific section
 * and serves as a centralized hub for accessing various actions and commands
 * relevant to the current context or page.
 *
 * The action bar often contains a set of clickable icons or buttons (icons + labels)
 * that represent specific actions, such as saving, deleting, editing, sharing,
 * or bulk operations for selected items.
 *
 * The purpose of an action bar is to provide quick and convenient access to
 * frequently used functionalities, enabling users to perform common tasks efficiently.
 * It enhances usability by organizing important actions in a visually prominent and easily accessible location.
 *
 * The action bar's design and layout can vary based on the platform or application,
 * but its primary goal remains consistent—to
 * empower users to interact with the software and perform desired actions effortlessly.
 *
 * @exampleComponent limel-example-action-bar-basic
 * @exampleComponent limel-example-action-bar-overflow-menu
 * @exampleComponent limel-example-action-bar-selected-item
 * @exampleComponent limel-example-action-bar-colors
 * @exampleComponent limel-example-action-bar-floating
 * @exampleComponent limel-example-action-bar-styling
 * @exampleComponent limel-example-action-bar-as-primary-component
 * @exampleComponent limel-example-action-bar-icon-title
 */
export declare class ActionBar {
    /**
     * Items that are placed in the action bar.
     * These represent primary actions.
     */
    actions: Array<ActionBarItem | ListSeparator>;
    /**
     * A label used to describe the purpose of the element to users
     * of assistive technologies, like screen readers.
     * If not set, a localized default ("Action bar" in English, translated
     * via the `language` prop) is used, so the element is never announced
     * without a name. Override this when a more specific label would help
     * users tell multiple action bars apart — for example "Bulk actions"
     * or "Contextual actions".
     */
    accessibleLabel?: string;
    /**
     * Defines the language for translations.
     */
    language: Languages;
    /**
     * - When set to `fullWidth`, the component will take the
     * entire width of its container.
     * - When set to `floating`, the component will get basic stylings
     * to visualize the floating state.
     * :::note
     * You should still properly position the component
     * according to the structure of your user interface.
     * For example, use an `absolute` or `fixed` position.
     * :::
     */
    layout?: 'fullWidth' | 'floating';
    /**
     * @deprecated The prop has no effect any longer.
     * It will be removed in a future major version.
     * If you need this behavior, implement the expand/shrink (or resize) in
     * the consuming UI instead.
     */
    collapsible: boolean;
    /**
     * Defines the location that the content of the overflow menu
     * appears, in relation to its trigger.
     */
    openDirection: OpenDirection;
    /**
     * Fired when a action bar item has been clicked.
     * @public
     */
    itemSelected: EventEmitter<ActionBarItem>;
    private readonly host;
    private overflowCutoff;
    private hasRendered;
    private intersectionObserver;
    private isFirstIntersectionCheck;
    private actionBarItems;
    componentWillLoad(): void;
    connectedCallback(): void;
    componentDidRender(): void;
    disconnectedCallback(): void;
    render(): any;
    private readonly renderActionBarItem;
    private readonly renderOverflowMenu;
    private isVisible;
    private readonly handleSelect;
    private readonly handleIntersection;
    private createIntersectionObserver;
    private observe;
    private haveItemsChanged;
}
//# sourceMappingURL=action-bar.d.ts.map