import { EventEmitter } from '@angular/core';
import { Nullable } from '@fundamental-ngx/cdk/utils';
import { MenuComponent } from '@fundamental-ngx/core/menu';
import { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';
import { ShellbarUser } from '../model/shellbar-user';
import { ShellbarUserMenu } from '../model/shellbar-user-menu';
import { ShellbarUserMenuButtonDirective } from './shellbar-user-menu-button.directive';
import * as i0 from "@angular/core";
/**
 * This Component extends popover component and passes all the options and events from outside to popover component
 * and Vice Versa
 * */
export declare class ShellbarUserMenuComponent {
    /** The user data. */
    user: ShellbarUser;
    /** The user menu data. */
    userMenu: ShellbarUserMenu[];
    /**
     * Preset options for the popover body width.
     * * `at-least` will apply a minimum width to the body equivalent to the width of the control.
     * * `equal` will apply a width to the body equivalent to the width of the control.
     * * Leave blank for no effect.
     */
    fillControlMode: Nullable<PopoverFillMode>;
    /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,
     *  bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */
    placement: Placement;
    /** The trigger events that will open/close the popover.
     *  Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp). */
    triggers: string[];
    /** Whether the popover should close when the escape key is pressed. */
    closeOnEscapeKey: boolean;
    /** Whether the popover should close when a click is made outside its boundaries. */
    closeOnOutsideClick: boolean;
    /** Whether the popover is disabled. */
    disabled: boolean;
    /** Whether or not to show the popover arrow */
    noArrow: boolean;
    /** Event emitted on item click */
    itemClicked: EventEmitter<void>;
    /** @hidden */
    _menu: MenuComponent;
    /** @hidden */
    _contentPassedMenu: MenuComponent;
    /** @hidden */
    _shellbarUserMenuButton: ShellbarUserMenuButtonDirective;
    /** Reference to Menu Component */
    get menu(): MenuComponent;
    /**
     * @hidden
     */
    itemClick(item: ShellbarUserMenu, event: MouseEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ShellbarUserMenuComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ShellbarUserMenuComponent, "fd-shellbar-user-menu", never, { "user": { "alias": "user"; "required": false; }; "userMenu": { "alias": "userMenu"; "required": false; }; "fillControlMode": { "alias": "fillControlMode"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "triggers": { "alias": "triggers"; "required": false; }; "closeOnEscapeKey": { "alias": "closeOnEscapeKey"; "required": false; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "noArrow": { "alias": "noArrow"; "required": false; }; }, { "itemClicked": "itemClicked"; }, ["_contentPassedMenu", "_shellbarUserMenuButton"], ["[fdShellbarUserMenuButton]"], true, never>;
}
