import type { Key } from '@antdv/ui/es/types'; import type { VNode } from 'vue'; import type { ItemType, MenuDividerType as VcMenuDividerType, MenuItemGroupType as VcMenuItemGroupType, MenuItemType as VcMenuItemType, SubMenuType as VcSubMenuType } from '../interface'; import type { MenuProps } from '../props'; import type { StoreMenuInfo } from './useMenuContext'; export interface MenuItemType extends VcMenuItemType { danger?: boolean; icon?: VNode | ((item: MenuItemType) => VNode); title?: string; } export interface SubMenuType extends Omit { icon?: VNode | ((item: SubMenuType) => VNode); children: ItemType[]; } export interface MenuItemGroupType extends Omit { children?: MenuItemType[]; key?: Key; } export interface MenuDividerType extends VcMenuDividerType { dashed?: boolean; key?: Key; } /** * We simply convert `items` to VueNode for reuse origin component logic. But we need move all the * logic from component into this hooks when in v4 */ export default function useItems(props: MenuProps): { itemsNodes: import("vue").ShallowRef; store: import("vue").ShallowRef>; hasItmes: import("vue").ShallowRef; };