import { FlattenedItem, TreeItem, TreeItems } from "./types.js";
import { Props as Props$1 } from "./components/TreeItem/TreeItem.js";
import React from "react";
import { UniqueIdentifier } from "@dnd-kit/core";

//#region src/components/pisellDraggable/index.d.ts
interface Props {
  /** 是否支持折叠功能 */
  collapsible?: boolean;
  /** 初始树形数据，默认使用 initialItems */
  value?: TreeItems;
  /** 缩进宽度，控制子节点的缩进距离 */
  indentationWidth?: number;
  /** 是否显示拖拽指示器 */
  indicator?: boolean;
  /** 是否支持删除节点功能 */
  removable?: boolean;
  /** 自定义渲染树节点 */
  renderItem?: (item: Props$1, 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;
}
declare const Demo: (props: Props) => React.JSX.Element;
//#endregion
export { Demo };