import { CSSProperties, HTMLAttributes, ReactElement } from "react";
import { IdObj } from "./utils";
import { NodeApi } from "../interfaces/node-api";
import { TreeApi } from "../interfaces/tree-api";
import { XYCoord } from "react-dnd";
export type NodeRendererProps = {
style: CSSProperties;
node: NodeApi;
tree: TreeApi;
dragHandle?: (el: HTMLDivElement | null) => void;
preview?: boolean;
};
export type RowRendererProps = {
node: NodeApi;
innerRef: (el: HTMLDivElement | null) => void;
attrs: HTMLAttributes;
children: ReactElement;
};
export type DragPreviewProps = {
offset: XYCoord | null;
mouse: XYCoord | null;
id: string | null;
dragIds: string[];
isDragging: boolean;
};
export type CursorProps = {
top: number;
left: number;
indent: number;
};