/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { MenuItemModel } from './models/MenuItemModel';
import { MenuSelectEvent } from './events';
/**
 * The properties of the [Kendo UI for Vue Menu component]({% slug overview_menu %}).
 */
export interface MenuProps {
    /**
     * Specifies whether the Menu will be vertical ([see example]({% slug vertical_menu %})).
     */
    vertical?: boolean;
    /**
     * Sets the Menu items.
     */
    items?: MenuItemModel[];
    /**
     * Sets the direction of the Menu.
     */
    dir?: string;
    /**
     * Specifies the delay in milliseconds before the Menu items are opened on item mouse-hover ([see example]({% slug opening_closing_menu %}#toc-delay-on-hover)). Defaults to `100`. If `openOnClick` is `true`, defaults to `0`.
     */
    hoverOpenDelay?: number;
    /**
     * Specifies the delay in milliseconds before the Menu items are closed on item mouse-leave ([see example]({% slug opening_closing_menu %}#toc-delay-on-hover)). Used to avoid accidental closure on leaving. Defaults to `100`.
     */
    hoverCloseDelay?: number;
    /**
     * If `openOnClick` is set to `true`, the items are opened on mouse hover only after an initial click.
     */
    openOnClick?: boolean;
    /**
     * A Vue functional or class component which is used for rendering the innermost part of the Menu item ([see example]({% slug rendering_menu %}#toc-items)). By default, the innermost item part includes only the text for the item.
     */
    itemRender?: any;
    /**
     * A Vue functional or class component which is used for rendering the link of the item ([see example]({% slug rendering_menu %}#toc-links)). The item link is a part of the visual representation of the item which, by default, includes an arrow, icon, and text.
     */
    linkRender?: any;
    /**
     * Sets the ids of the Menu items that will not be closed on mouse-leave. The ids are hierarchical and zero-based. The first root item has a `0` id. If the first root item has children, the first child item acquires a `0_0` id and the second acquires a `0_1` id.
     */
    customCloseItemIds?: string[];
    /**
     * Adds a custom className to the Menu top element.
     */
    className?: string;
    /**
     * Fires when a Menu item is selected.
     */
    onSelect?: (event: MenuSelectEvent) => void;
}
