import { CSSProperties } from 'react'; import { HTMLAttributes } from 'react'; import { JSX as JSX_2 } from 'react'; import { JSX as JSX_3 } from 'react/jsx-runtime'; import { UniqueIdentifier } from '@dnd-kit/core'; export declare interface ActionProps extends HTMLAttributes { active?: { fill: string; background: string; }; cursor?: CSSProperties['cursor']; } declare type BadgeProps = { count: number; }; export declare type FlattenedItem = TreeItem & { parentId: UniqueIdentifier | null; depth: number; index: number; }; export declare type RenderComponentType = { Handle?: (props: ActionProps) => JSX_2.Element; Collapse?: (props: ActionProps) => JSX_2.Element; Remove?: (props: ActionProps) => JSX_2.Element; ItemContent?: (props: T) => JSX_2.Element; Badge?: (props: BadgeProps) => JSX_2.Element; }; export declare const SortableTree: ({ collapsible, defaultItems, indicator, indentationWidth, removable, components, height, renderItemContent, onChange, onRemove, }: SortableTreeProps) => JSX_3.Element; declare interface SortableTreeItemProps extends TreeItemProps { id: UniqueIdentifier; renderItem?: (props: Omit, 'id'>) => JSX_2.Element; } export declare interface SortableTreeProps { collapsible?: boolean; defaultItems?: TreeItem[]; indentationWidth?: number; indicator?: boolean; removable?: boolean; components?: SortableTreeItemProps>['components']; height?: string | number; renderItemContent?: SortableTreeItemProps>['renderItem']; onChange?: (currentItem: FlattenedItem, changeItem: FlattenedItem) => void; onRemove?: (id: UniqueIdentifier) => void; } export declare type TreeItem = T & { id: UniqueIdentifier; collapsed?: boolean; children: TreeItem[]; }; declare interface TreeItemProps extends Omit, 'id'> { childCount?: number; clone?: boolean; collapsed?: boolean; depth: number; disableInteraction?: boolean; disableSelection?: boolean; ghost?: boolean; handleProps?: ActionProps; indicator?: boolean; indentationWidth: number; value: T; components?: RenderComponentType; onCollapse?(): void; onRemove?(): void; wrapperRef?(node: HTMLLIElement): void; } export { }