/// <reference types="react" />
import IBasePro from '../0form/abase';
declare type DataItemType = {
    value: string;
    label: React.ReactNode;
    children?: Array<DataItemType>;
};
export declare enum CheckedType {
    radio = "radio",
    checkbox = "checkbox"
}
interface ITreePro extends IBasePro {
    /** tree 数据结构 children 属性名称 - rsuite Tree.childrenKey */
    childrenKey?: string;
    /** 组件 CSS 类的前缀 */
    classPrefix?: string;
    /** tree 数据 - rsuite Tree.data */
    data?: Array<DataItemType>;
    /** 是否默认展开所有节点 - rsuite Tree.defaultExpandAll */
    defaultExpandAll?: boolean;
    /** 默认选中的值 */
    defaultValue?: any;
    /** 默认展开的节点值列表 - rsuite Tree.defaultExpandItemValues */
    defaultExpandItemValues?: any[];
    /** 禁用的节点值列表 - rsuite Tree.disabledItemValues */
    disabledItemValues?: string[];
    /** 是否支持拖拽 - rsuite Tree.draggable */
    draggable?: boolean;
    /** 设置展开节点的值（受控） - rsuite Tree.expandItemValues */
    expandItemValues?: any[];
    /** 节点标签字段名 - rsuite Tree.labelKey */
    labelKey?: string;
    /** 搜索关键字 - rsuite Tree.searchKeyword */
    searchKeyword?: string;
    /** 选中的值(受控) - rsuite Tree.value */
    value?: any;
    /** 节点值字段名 - rsuite Tree.valueKey */
    valueKey?: string;
    /** 是否启用虚拟化 - rsuite Tree.virtualized */
    virtualized?: boolean;
    /** 值改变事件 - rsuite Tree.onChange */
    onChange?: (value: string) => void;
    /** 节点展开事件 - rsuite Tree.onExpand */
    onExpand?: (expandItemValues: any[], activeNode: DataItemType, concat: (data: any, children: any) => Array<any>) => void;
    /** 节点选择事件 - rsuite Tree.onSelect */
    onSelect?: (activeNode: any, value: any, event: any) => void;
    /** 拖拽开始事件 - rsuite Tree.onDragStart */
    onDragStart?: (nodeData: DataItemType, event: any) => void;
    /** 拖拽进入事件 - rsuite Tree.onDragEnter */
    onDragEnter?: (nodeData: DataItemType, event: any) => void;
    /** 拖拽经过事件 - rsuite Tree.onDragOver */
    onDragOver?: (nodeData: DataItemType, event: any) => void;
    /** 拖拽离开事件 - rsuite Tree.onDragLeave */
    onDragLeave?: (nodeData: DataItemType, event: any) => void;
    /** 拖拽结束事件 - rsuite Tree.onDragEnd */
    onDragEnd?: (nodeData: DataItemType, event: any) => void;
    /** 放置事件 - rsuite Tree.onDrop */
    onDrop?: (nodeData: DataItemType, event: any) => void;
    /** 自定义渲染拖拽节点 - rsuite Tree.renderDragNode */
    renderDragNode?: (nodeData: any) => React.ReactNode;
    /** 自定义渲染节点图标 - rsuite Tree.renderTreeIcon */
    renderTreeIcon?: (nodeData: any) => React.ReactNode;
    /** 自定义渲染节点 - rsuite Tree.renderTreeNode */
    renderTreeNode?: (nodeData: any) => React.ReactNode;
    /** 勾选状态改变事件 - rsuite CheckTree.onCheckChange */
    onCheckChange?: (value: boolean, event: React.SyntheticEvent) => void;
    /** 是否支持多选 - rsuite CheckTree */
    mutilselect?: boolean | number;
    /** 是否同步勾选状态 */
    synccheck?: boolean | number;
    /** 是否级联选择 - rsuite CheckTree.cascade */
    cascade?: boolean | number;
    /** 无法勾选的节点值列表 - rsuite Tree.uncheckableItemValues */
    uncheckableItemValues?: string[];
}
export type { ITreePro, DataItemType };
