/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { TemplateRef } from '@angular/core';
import { SVGIcon } from '@progress/kendo-angular-icons';
/**
 * Represents an interface for the Menu items.
 */
export interface MenuItem {
    /**
     * Specifies the item text ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#showing-text)).
     */
    text?: string;
    /**
     * Specifies a URL which is rendered as a `href` attribute on the item link
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#rendering-urls)).
     */
    url?: string;
    /**
     * Specifies the name of the [font icon](https://www.telerik.com/kendo-angular-ui/components/styling/icons#icons-list) that will
     * be rendered for the item ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#displaying-font-icons)).
     */
    icon?: string;
    /**
     * Defines an [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) that will be
     * rendered for the item using a [`KendoSVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgiconcomponent) component ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#displaying-svg-icons)).
     */
    svgIcon?: SVGIcon;
    /**
     * Specifies if the item is disabled ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#disabling-items)).
     */
    disabled?: boolean;
    /**
     * Specifies the CSS classes that will be rendered on the item element ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#adding-styles-and-classes)).
     * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
     */
    cssClass?: any;
    /**
     * Specifies the CSS styles that will be rendered on the item element ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/items#adding-styles-and-classes)).
     * Supports the type of values that are supported by [`ngStyle`](link:site.data.urls.angular['ngstyleapi']).
     */
    cssStyle?: any;
    /**
     * Specifies a template for the item.
     */
    template?: TemplateRef<any>;
    /**
     * Specifies a template for the item content.
     */
    contentTemplate?: TemplateRef<any>;
    /**
     * Specifies the children of the item ([see example](https://www.telerik.com/kendo-angular-ui/components/menus/menu/data-binding)).
     */
    items?: any[];
    /**
     * Represents the additional data that is associated with the Menu item.
     */
    data?: any;
    /**
     * Specifies if this is a separator item.
     * If set to true only the `cssClass` and `cssStyle` fields are rendered.
     */
    separator?: boolean;
}
