import { ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
import { ComboboxInterface } from '@fundamental-ngx/core/combobox';
import { ProductSwitchComponent } from '@fundamental-ngx/core/product-switch';
import { CdkPortalOutlet, DomPortal } from '@angular/cdk/portal';
import { Nullable } from '@fundamental-ngx/cdk/utils';
import { SearchComponent } from '@fundamental-ngx/core/shared';
import { UserMenuComponent } from '@fundamental-ngx/core/user-menu';
import { ShellbarSizes } from '../model/shellbar-sizes';
import { ShellbarUser } from '../model/shellbar-user';
import { ShellbarUserMenu } from '../model/shellbar-user-menu';
import { ShellbarActionComponent } from '../shellbar-action/shellbar-action.component';
import { ShellbarUserMenuComponent } from '../user-menu/shellbar-user-menu.component';
import * as i0 from "@angular/core";
/**
 * The component that represents shellbar actions.
 * It is a container wrapper for all product actions and links (required element).
 * ```html
 * <fd-shellbar-actions [user]="user"
 *                      [userMenu]="userMenu"
 *                      [productSwitcher]="productSwitcher">
 *        <button fd-button fdType="standard">Custom Button</button>
 *
 *        <fd-shellbar-action *ngFor="let action of actions"
 *                            [glyph]="action.glyph"
 *                            [callback]="action.callback"
 *                            [label]="action.label"
 *                            [notificationCount]="action.notificationCount"
 *                            [notificationLabel]="action.notificationLabel">
 *        </fd-shellbar-action>
 * </fd-shellbar-actions>
 * ```
 */
export declare class ShellbarActionsComponent implements OnDestroy {
    /** The user data. */
    user: ShellbarUser;
    /** The user menu data. */
    userMenu: ShellbarUserMenu[];
    /** When set to true, popover list will be closed after selecting the option */
    closePopoverOnSelect: boolean;
    /** Whether to show the assistive tools icon. */
    assistiveTools: boolean;
    /** @hidden */
    assistiveToolsCallback: Nullable<(event: MouseEvent) => void>;
    /**
     * Event emitted when search opened.
     */
    searchOpen: EventEmitter<boolean>;
    /** @hidden */
    shellbarActions: QueryList<ShellbarActionComponent>;
    /** @hidden */
    userComponent: ShellbarUserMenuComponent;
    /** @hidden */
    userComponentView: ShellbarUserMenuComponent;
    /** @hidden */
    comboboxComponent: ComboboxInterface;
    /** @hidden */
    productSwitchComponent: ProductSwitchComponent;
    /** @hidden */
    userMenuComponent: UserMenuComponent;
    /** @hidden */
    _portalOutlet: Nullable<CdkPortalOutlet>;
    /** @hidden */
    _addSearchIcon: boolean;
    /** @hidden */
    _searchPortal: DomPortal;
    /** @hidden */
    _showMobileActions: boolean;
    /**
     * Whether to show the search field.
     */
    showSearch: boolean;
    /** @hidden */
    currentSize: ShellbarSizes;
    /** @hidden */
    _elRef: ElementRef<any>;
    /** @hidden */
    private readonly _cd;
    /** @hidden */
    private readonly _shellbar;
    /** @hidden */
    private _searchComponent;
    /** @hidden */
    _toggleSearch: () => void;
    /** @hidden */
    get userItem(): ShellbarUser;
    /** @hidden */
    ngOnDestroy(): void;
    /** @hidden */
    _handleOverflow(shouldOverflow: boolean): void;
    /** @hidden */
    _attachSearch(portal: DomPortal, searchComponent: Nullable<SearchComponent>, size: ShellbarSizes): void;
    /** @hidden */
    _detachSearch(): void;
    /** @hidden */
    _triggerItems(): void;
    /** @hidden */
    _setSearchVisibility(visible: boolean): void;
    /** @hidden */
    private _toggleSearchPortal;
    static ɵfac: i0.ɵɵFactoryDeclaration<ShellbarActionsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ShellbarActionsComponent, "fd-shellbar-actions", never, { "user": { "alias": "user"; "required": false; }; "userMenu": { "alias": "userMenu"; "required": false; }; "closePopoverOnSelect": { "alias": "closePopoverOnSelect"; "required": false; }; "assistiveTools": { "alias": "assistiveTools"; "required": false; }; "assistiveToolsCallback": { "alias": "assistiveToolsCallback"; "required": false; }; }, { "searchOpen": "searchOpen"; }, ["userComponent", "comboboxComponent", "productSwitchComponent", "userMenuComponent", "shellbarActions"], ["fd-combobox", "*", "fd-shellbar-action", "fd-shellbar-user-menu", "fd-user-menu", "fd-product-switch"], true, never>;
}
