import * as React from 'react'; import { Theme } from '@mui/material/styles'; import { SxProps } from '@mui/system/styleFunctionSx'; import { TreeViewValidItem } from '@mui/x-tree-view/models'; import { RichTreeViewItemsSlots, RichTreeViewItemsSlotProps, TreeViewSlots, TreeViewSlotProps, UseTreeViewStoreParameters, TreeViewPublicAPI } from '@mui/x-tree-view/internals'; import { RichTreeViewProClasses } from "./richTreeViewProClasses.js"; import { RichTreeViewProStore } from "../internals/RichTreeViewProStore/index.js"; export interface RichTreeViewProSlots extends TreeViewSlots, Omit { /** * Element rendered at the root. * @default RichTreeViewProRoot */ root?: React.ElementType; } export interface RichTreeViewProSlotProps extends TreeViewSlotProps, RichTreeViewItemsSlotProps> {} export type RichTreeViewProApiRef = any, Multiple extends boolean | undefined = any> = React.RefObject>> | undefined>; export interface RichTreeViewProPropsBase extends React.HTMLAttributes { className?: string; /** * Override or extend the styles applied to the component. */ classes?: Partial; /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx?: SxProps; } export interface RichTreeViewProProps extends UseTreeViewStoreParameters>, RichTreeViewProPropsBase { /** * Overridable component slots. * @default {} */ slots?: RichTreeViewProSlots; /** * The props used for each component slot. * @default {} */ slotProps?: RichTreeViewProSlotProps; /** * The ref object that allows Tree View manipulation. Can be instantiated with `useRichTreeViewApiProRef()`. */ apiRef?: RichTreeViewProApiRef; }