// React Imports import type { ReactNode } from 'react' // MUI Imports import type { ChipProps } from '@mui/material/Chip' // Type Imports import type { SubMenuProps as VerticalSubMenuProps, MenuItemProps as VerticalMenuItemProps, MenuSectionProps as VerticalMenuSectionProps } from '@menu/vertical-menu' import type { SubMenuProps as HorizontalSubMenuProps, MenuItemProps as HorizontalMenuItemProps } from '@menu/horizontal-menu' import type { MenuItemExactMatchUrlProps } from '@menu/types' // Vertical Menu Data export type VerticalMenuItemDataType = Omit< VerticalMenuItemProps, 'children' | 'exactMatch' | 'activeUrl' | 'icon' | 'prefix' | 'suffix' > & MenuItemExactMatchUrlProps & { label: ReactNode excludeLang?: boolean icon?: string prefix?: ReactNode | ChipProps suffix?: ReactNode | ChipProps } export type VerticalSubMenuDataType = Omit & { children: VerticalMenuDataType[] icon?: string prefix?: ReactNode | ChipProps suffix?: ReactNode | ChipProps } export type VerticalSectionDataType = Omit & { isSection: boolean children: VerticalMenuDataType[] } export type VerticalMenuDataType = VerticalMenuItemDataType | VerticalSubMenuDataType | VerticalSectionDataType // Horizontal Menu Data export type HorizontalMenuItemDataType = Omit< HorizontalMenuItemProps, 'children' | 'exactMatch' | 'activeUrl' | 'icon' | 'prefix' | 'suffix' > & MenuItemExactMatchUrlProps & { label: ReactNode excludeLang?: boolean icon?: string prefix?: ReactNode | ChipProps suffix?: ReactNode | ChipProps } export type HorizontalSubMenuDataType = Omit & { children: HorizontalMenuDataType[] icon?: string prefix?: ReactNode | ChipProps suffix?: ReactNode | ChipProps } export type HorizontalMenuDataType = HorizontalMenuItemDataType | HorizontalSubMenuDataType