import { EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';
import { FocusableOption } from '@angular/cdk/a11y';
import { EuiMenuItem } from './models/eui-menu-item.model';
import * as i0 from "@angular/core";
export declare class EuiMenuItemComponent implements OnInit, OnChanges, FocusableOption {
    role: string;
    ariaLabel: string;
    get cssClasses(): string;
    tabindex: string;
    get ariaHasPopup(): boolean;
    get ariaExpanded(): boolean;
    get ariaDisabled(): boolean;
    item: EuiMenuItem;
    parent: EuiMenuItem;
    hasExpandIcon: boolean;
    expandToggle: EventEmitter<EuiMenuItem<unknown>>;
    itemClick: EventEmitter<EuiMenuItem<unknown>>;
    expandMenuLabel: string;
    collapseMenuLabel: string;
    isUrlItem: boolean;
    isLinkItem: boolean;
    isLabelItem: boolean;
    isActionIconFocused: boolean;
    hasIcon: boolean;
    hasIconLabel: boolean;
    hasTooltip: boolean;
    hasTooltipOnExpanded: boolean;
    isCollapsed: boolean;
    hasCollapsedInitials: boolean;
    hasBoldRootLevel: boolean;
    private elementRef;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    stopPropagation(event: MouseEvent): void;
    get menuItemTooltip(): string;
    onClick(event: MouseEvent | KeyboardEvent): void;
    onExpandToggle(event: Event): void;
    onActionIconClick(event: MouseEvent): void;
    onActionIconKeyDown(event: KeyboardEvent): void;
    focusActionIcon(): void;
    onActionIconFocusOut(): void;
    focus(): void;
    /**
     * Check if an element is visible in the viewport
     * @param partiallyVisible
     */
    elementIsVisibleInViewport(partiallyVisible?: boolean): boolean;
    /**
     * Scroll the element into view
     * @param properties
     */
    scrollIntoView(properties: unknown): void;
    private getTooltipFromItem;
    private getAriaLabel;
    /**
     * Returns the default eui-menu-item class on the HostBinding function
     * @private
     */
    private getCssClasses;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiMenuItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiMenuItemComponent, "eui-menu-item", never, { "item": { "alias": "item"; "required": false; }; "parent": { "alias": "parent"; "required": false; }; "hasExpandIcon": { "alias": "hasExpandIcon"; "required": false; }; "hasIcon": { "alias": "hasIcon"; "required": false; }; "hasIconLabel": { "alias": "hasIconLabel"; "required": false; }; "hasTooltip": { "alias": "hasTooltip"; "required": false; }; "hasTooltipOnExpanded": { "alias": "hasTooltipOnExpanded"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "hasCollapsedInitials": { "alias": "hasCollapsedInitials"; "required": false; }; "hasBoldRootLevel": { "alias": "hasBoldRootLevel"; "required": false; }; }, { "expandToggle": "expandToggle"; "itemClick": "itemClick"; }, never, ["*"], true, never>;
    static ngAcceptInputType_hasIcon: unknown;
    static ngAcceptInputType_hasIconLabel: unknown;
    static ngAcceptInputType_hasTooltip: unknown;
    static ngAcceptInputType_hasTooltipOnExpanded: unknown;
    static ngAcceptInputType_isCollapsed: unknown;
    static ngAcceptInputType_hasCollapsedInitials: unknown;
    static ngAcceptInputType_hasBoldRootLevel: unknown;
}
//# sourceMappingURL=eui-menu-item.component.d.ts.map