import { SxProps, Theme } from '@mui/material/styles';
export interface TreeNode {
    id: string;
    label: string;
    icon?: React.ReactNode;
    children?: TreeNode[];
    badge?: React.ReactNode;
    disabled?: boolean;
}
export interface TreeViewProps {
    nodes: TreeNode[];
    selected?: string;
    onSelect?: (id: string) => void;
    expanded?: string[];
    onToggle?: (id: string) => void;
    multiSelect?: boolean;
    checkboxes?: boolean;
    lazyLoad?: boolean;
    onLoadChildren?: (id: string) => Promise<TreeNode[]>;
    contextMenu?: (node: TreeNode) => React.ReactNode;
    sx?: SxProps<Theme>;
}
declare function TreeView({ nodes, selected, onSelect, expanded: controlledExpanded, onToggle: controlledOnToggle, checkboxes, lazyLoad, onLoadChildren, sx, }: TreeViewProps): import("react/jsx-runtime").JSX.Element;
declare namespace TreeView {
    var displayName: string;
}
export default TreeView;
