import { SxProps } from "@mui/material"; import { MenuItemProps } from "@mui/material/MenuItem"; import React, { RefObject, ElementType, HTMLAttributes, ReactNode, RefAttributes, ForwardRefExoticComponent } from "react"; import { MenuProps } from "@mui/material/Menu"; import { JSX } from "react/jsx-runtime"; import { ButtonProps } from "@mui/material/Button"; export interface MenuItemData { uid?: string; label?: string; leftIcon?: React.ReactNode; rightIcon?: React.ReactNode; callback?: (event: React.MouseEvent, item: MenuItemData) => void; items?: MenuItemData[]; disabled?: boolean; sx?: SxProps; delay?: number; } type IconMenuItemProps = { MenuItemProps?: MenuItemProps; className?: string; disabled?: boolean; label?: string; renderLabel?: () => React.ReactNode; leftIcon?: React.ReactNode; onClick?: (event: React.MouseEvent) => void; ref?: RefObject; rightIcon?: React.ReactNode; sx?: SxProps; }; export const IconMenuItem: React.ForwardRefExoticComponent & React.RefAttributes>; export type NestedMenuItemProps = Omit & { parentMenuOpen: boolean; component?: ElementType; label?: string; renderLabel?: () => ReactNode; rightIcon?: ReactNode; leftIcon?: ReactNode; children?: ReactNode; className?: string; tabIndex?: number; disabled?: boolean; ContainerProps?: HTMLAttributes & RefAttributes; MenuProps?: Partial>; button?: true | undefined; delay?: number; }; export const NestedMenuItem: ForwardRefExoticComponent & RefAttributes>; export interface nestedMenuItemsFromObjectProps { menuItemsData: MenuItemData[]; isOpen: boolean; handleClose: () => void; } export function nestedMenuItemsFromObject({ menuItemsData: items, isOpen, handleClose, }: nestedMenuItemsFromObjectProps): JSX.Element[]; export type ContextMenuProps = { children?: ReactNode; menuItems?: ReactNode[]; menuItemsData?: MenuItemData[]; }; export const ContextMenu: ForwardRefExoticComponent>; interface NestedDropdownProps { children?: React.ReactNode; menuItemsData?: MenuItemData; onClick?: (e: React.MouseEvent) => void; ButtonProps?: Partial; MenuProps?: Partial; } export const NestedDropdown: ForwardRefExoticComponent>;