import * as React from 'react'; import { Theme } from '@mui/material/styles'; import { SlotComponentProps } from '@mui/utils/types'; import { SxProps } from '@mui/system/styleFunctionSx'; import { SimpleTreeViewClasses } from "./simpleTreeViewClasses.js"; import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js"; import { SimpleTreeViewStore } from "../internals/SimpleTreeViewStore/index.js"; import { UseTreeViewStoreParameters } from "../internals/hooks/useTreeViewStore.js"; import { TreeViewPublicAPI } from "../internals/models/index.js"; export interface SimpleTreeViewSlots extends TreeViewSlots { /** * Element rendered at the root. * @default SimpleTreeViewRoot */ root?: React.ElementType; } export interface SimpleTreeViewSlotProps extends TreeViewSlotProps { root?: SlotComponentProps<'ul', {}, {}>; } export type SimpleTreeViewApiRef = React.RefObject>> | undefined>; export interface SimpleTreeViewProps extends UseTreeViewStoreParameters>, React.HTMLAttributes { /** * The content of the component. */ children?: React.ReactNode; /** * Overridable component slots. */ slots?: SimpleTreeViewSlots; /** * The props used for each component slot. */ slotProps?: SimpleTreeViewSlotProps; 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; /** * The ref object that allows Tree View manipulation. Can be instantiated with `useSimpleTreeViewApiRef()`. */ apiRef?: SimpleTreeViewApiRef; }