/**
 * 可拖拽树形组件
 * 基于@dnd-kit库实现，支持拖拽排序、展开折叠、删除等功能
 */
import { UniqueIdentifier } from '@dnd-kit/core';
import React from 'react';
import type { FlattenedItem, TreeItem, TreeItems } from './types';
import type { Props as TreeItemProps } from './components/TreeItem/TreeItem';
interface Props {
    /** 是否支持折叠功能 */
    collapsible?: boolean;
    /** 初始树形数据，默认使用 initialItems */
    value?: TreeItems;
    /** 缩进宽度，控制子节点的缩进距离 */
    indentationWidth?: number;
    /** 是否显示拖拽指示器 */
    indicator?: boolean;
    /** 是否支持删除节点功能 */
    removable?: boolean;
    /** 自定义渲染树节点 */
    renderItem?: (item: TreeItemProps, ref: React.RefObject<HTMLDivElement>) => React.ReactNode;
    /** 树形数据变化回调 */
    onChange?: (items: TreeItems) => void;
    /** 删除节点前 */
    onRemoveBefore?: (item: TreeItem) => Promise<boolean>;
    /** 设计模式 */
    __designMode?: string;
    /** 最大层级 */
    maxLevel?: number;
    /** 自定义拖拽判断函数，返回false时阻止拖拽 */
    canDrop?: (dragItem: FlattenedItem, dropTarget: FlattenedItem, parentId: UniqueIdentifier | null, parentNode: any) => boolean;
}
export declare function SortableTree({ collapsible, value, indicator, indentationWidth, removable, renderItem, onChange, onRemoveBefore, __designMode, maxLevel, canDrop, }: Props): React.JSX.Element;
declare const Demo: (props: Props) => React.JSX.Element;
export default Demo;
