/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter, OnChanges, AfterViewChecked, NgZone, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { ItemsService } from './services/items.service';
import { ActionsService } from './services/actions.service';
import { NavigationService } from './services/navigation.service';
import { HoverService } from './services/hover.service';
import { MenuEvent } from './menu-event';
import { MenuSelectEvent } from './menu-select-event';
import { ContextMenuService } from './context-menu/context-menu.service';
import { MenuBase } from './menu-base';
import * as i0 from "@angular/core";
/**
 * Represents the [Kendo UI Menu component for Angular]({% slug overview_menu %}).
 *
 * @example
 * ```ts
 * _@Component({
 *    selector: 'my-app',
 *    template: `
 *        <kendo-menu [items]="items">
 *        </kendo-menu>
 *    `
 * })
 * class AppComponent {
 *    public items: any[] = [{ text: 'item1', items: [{ text: 'item1.1' }] }, { text: 'item2', disabled: true }];
 * }
 * ```
 */
export declare class MenuComponent extends MenuBase implements OnChanges, AfterViewChecked {
    private itemsService;
    private hover;
    private actions;
    private navigation;
    private localization;
    private ngZone;
    private renderer;
    private contextService?;
    /**
     * Defines the container to which the popups will be appended.
     */
    appendTo: ViewContainerRef;
    /**
     * @hidden
     */
    menuItemTemplate: TemplateRef<any>;
    /**
     * @hidden
     */
    ariaRole: string;
    /**
     * @hidden
     */
    menuItemLinkTemplate: TemplateRef<any>;
    /**
     * Fires when a Menu item is selected ([see example](slug:events_menu)).
     */
    select: EventEmitter<MenuSelectEvent>;
    /**
     * Fires when a Menu item is opened ([see example](slug:events_menu)).
     */
    open: EventEmitter<MenuEvent>;
    /**
     * Fires when a Menu item is closed ([see example](slug:events_menu)).
     */
    close: EventEmitter<MenuEvent>;
    /**
     * @hidden
     */
    get ariaOrientation(): string;
    /**
     * @hidden
     */
    get isContextMenu(): boolean;
    get direction(): boolean;
    get rtl(): boolean;
    /**
     * @hidden
     */
    get menuClasses(): string;
    private closeClickSubscription;
    private contextKeyDownSubscription;
    constructor(itemsService: ItemsService, hover: HoverService, actions: ActionsService, navigation: NavigationService, localization: LocalizationService, ngZone: NgZone, renderer: Renderer2, contextService?: ContextMenuService);
    /**
     * Opens or closes the specified Menu items.
     *
     * @param open - A Boolean value which indicates if the items will be opened or closed.
     * @param indices - One or more values which represent the hierarchical indices of the items that will be opened or closed.
     */
    toggle(open: boolean, ...indices: string[]): void;
    /**
     * @hidden
     */
    focus(index?: string): void;
    ngOnChanges(changes: any): void;
    ngAfterViewChecked(): void;
    ngOnDestroy(): void;
    private attachCloseClick;
    private unsubscribeClick;
    private contextKeyDown;
    static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, [null, null, null, null, null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "kendo-menu", ["kendoMenu"], { "appendTo": { "alias": "appendTo"; "required": false; }; "menuItemTemplate": { "alias": "menuItemTemplate"; "required": false; }; "ariaRole": { "alias": "ariaRole"; "required": false; }; "menuItemLinkTemplate": { "alias": "menuItemLinkTemplate"; "required": false; }; }, { "select": "select"; "open": "open"; "close": "close"; }, never, never, true, never>;
}
