/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { MenuItemInternalModel } from '../models/MenuItemModel';
import { BaseMenuItemInternalProps } from './../BaseMenuItemInternalProps';
import { PropType } from 'vue';
/**
 * @hidden
 */
export interface MenuItemInternalProps extends BaseMenuItemInternalProps {
    item: MenuItemInternalModel;
}
/**
 * @hidden
 */
export interface MenuItemInternalComputed {
    currentItemRender: any;
    currentLinkRender: any;
    contentRender: any;
    currentOpened: boolean;
    currentFocused: boolean;
    popupClassName: string;
    menuItemClassName: object;
    hasItems: boolean;
}
/**
 * @hidden
 */
declare const MenuItemInternal: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    item: PropType<MenuItemInternalModel>;
    focusedItemId: PropType<string>;
    lastItemIdToBeOpened: PropType<string>;
    tabbableItemId: PropType<string>;
    itemRender: PropType<any>;
    linkRender: PropType<any>;
    isMenuVertical: PropType<boolean>;
    isDirectionRightToLeft: PropType<boolean>;
    menuGuid: PropType<string>;
    originalItemNeeded: PropType<any>;
}>, {}, {
    opened: boolean;
}, {
    hasItems(): boolean;
    currentItemRender(): any;
    currentLinkRender(): any;
    contentRender(): any;
    currentOpened(): boolean;
    currentFocused(): boolean;
    popupClassName(): string;
    menuItemClassName(): {
        [x: number]: any;
        'k-item': boolean;
        'k-menu-item': boolean;
        'k-first': boolean;
        'k-last': any;
        'k-disabled': any;
    };
}, {
    handleKeyDown(event: any): void;
    handleItemMouseOver(event: any): void;
    handleItemMouseLeave(event: any): void;
    handleItemMouseBlur(event: any): void;
    handleItemMouseFocus(event: any): void;
    handleClick(event: any, itemId: string): void;
    handleBlur(itemId: string): void;
    handleFocus(itemId: string): void;
    handleMouseDown(event: any): void;
    handleOriginalItemNeeded(event: any): any;
    onMouseOver(event: any): void;
    onMouseLeave(event: any): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    keydown: any;
    mouseover: any;
    mouseleave: any;
    blur: any;
    focus: any;
    click: any;
    mousedown: any;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    item: PropType<MenuItemInternalModel>;
    focusedItemId: PropType<string>;
    lastItemIdToBeOpened: PropType<string>;
    tabbableItemId: PropType<string>;
    itemRender: PropType<any>;
    linkRender: PropType<any>;
    isMenuVertical: PropType<boolean>;
    isDirectionRightToLeft: PropType<boolean>;
    menuGuid: PropType<string>;
    originalItemNeeded: PropType<any>;
}>> & Readonly<{
    onClick?: (...args: any[] | unknown[]) => any;
    onBlur?: (...args: any[] | unknown[]) => any;
    onFocus?: (...args: any[] | unknown[]) => any;
    onKeydown?: (...args: any[] | unknown[]) => any;
    onMousedown?: (...args: any[] | unknown[]) => any;
    onMouseleave?: (...args: any[] | unknown[]) => any;
    onMouseover?: (...args: any[] | unknown[]) => any;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
/**
 * @hidden
 */
export interface MenuItemInternalsListProps extends BaseMenuItemInternalProps {
    items: MenuItemInternalModel[];
    parentItemId?: string;
}
/**
 * @hidden
 */
declare const MenuItemInternalsList: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    items: PropType<MenuItemInternalModel[]>;
    parentItemId: {
        type: PropType<string>;
        default: any;
    };
    focusedItemId: PropType<string>;
    lastItemIdToBeOpened: PropType<string>;
    tabbableItemId: PropType<string>;
    itemRender: PropType<any>;
    linkRender: PropType<any>;
    isMenuVertical: PropType<boolean>;
    isDirectionRightToLeft: PropType<boolean>;
    menuGuid: PropType<string>;
    originalItemNeeded: PropType<any>;
}>, {}, {}, {}, {
    handleKeyDown(event: any): void;
    handleOriginalItemNeeded(event: any): any;
    handleItemMouseOver(event: any): void;
    handleItemMouseLeave(event: any): void;
    handleItemMouseDown(event: any): void;
    handleItemMouseBlur(event: any): void;
    handleItemMouseFocus(event: any): void;
    handleItemMouseClick(event: any, itemId: string): void;
    onMouseOver(event: any): void;
    onMouseLeave(event: any): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    keydown: any;
    mouseover: any;
    mouseleave: any;
    blur: any;
    focus: any;
    click: any;
    mousedown: any;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    items: PropType<MenuItemInternalModel[]>;
    parentItemId: {
        type: PropType<string>;
        default: any;
    };
    focusedItemId: PropType<string>;
    lastItemIdToBeOpened: PropType<string>;
    tabbableItemId: PropType<string>;
    itemRender: PropType<any>;
    linkRender: PropType<any>;
    isMenuVertical: PropType<boolean>;
    isDirectionRightToLeft: PropType<boolean>;
    menuGuid: PropType<string>;
    originalItemNeeded: PropType<any>;
}>> & Readonly<{
    onClick?: (...args: any[] | unknown[]) => any;
    onBlur?: (...args: any[] | unknown[]) => any;
    onFocus?: (...args: any[] | unknown[]) => any;
    onKeydown?: (...args: any[] | unknown[]) => any;
    onMousedown?: (...args: any[] | unknown[]) => any;
    onMouseleave?: (...args: any[] | unknown[]) => any;
    onMouseover?: (...args: any[] | unknown[]) => any;
}>, {
    parentItemId: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { MenuItemInternal, MenuItemInternalsList };
