import { SimpleTreeViewProps } from '@mui/x-tree-view/SimpleTreeView';
import { StyledTreeItemProps } from './CTreeItem';
import { ReactNode } from 'react';

declare module 'react' {
    interface CSSProperties {
        '--tree-view-color'?: string;
        '--tree-view-bg-color'?: string;
    }
}
export type AdditionalActionType = {
    action: (nodeId: string | number, e: any) => void;
    icon: string;
    tooltip: string;
    label: string;
    disabled?: boolean;
};
export type AdditionalActionGenType = AdditionalActionType[] | ((item: any) => AdditionalActionType[]);
export type CTreeViewProps = Omit<SimpleTreeViewProps<false>, 'selectedItems'> & {
    items: StyledTreeItemProps[];
    onNodeSelect: (e: any, nodeId: string) => void;
    onNodeAddAction: (e: any, nodeId: string) => void;
    onNodeRemoveAction: (e: any, nodeId: string) => void;
    additionalActions?: AdditionalActionGenType;
    expandedItems?: string[];
    defaultExpanded?: string[];
    enableNullSelection?: boolean;
    disableItemsFocusable?: boolean;
    autofocus?: boolean;
    maxWidth?: number;
    width?: number;
    rootInjection?: ReactNode;
    disableSelection?: boolean;
    draggable?: boolean;
    hidden?: boolean;
    selectedItems?: string[];
    onDragDrop?: (event: any, draggedItem: any, droppedItem: any) => void;
    onDragging?: (event: any, active: boolean, draggedItem: any) => void;
    disableItemDelete?: boolean;
    disableItemAdd?: boolean;
};
export declare const CTreeView2: (props: CTreeViewProps) => import("react/jsx-runtime").JSX.Element;
