import { FC, MouseEvent, ReactNode } from 'react'; import { SvgFC } from '@befe/brick-core'; export type TreeNodeId = string | number; export interface TreeNodeItem extends Omit { } export interface TreeNodeProps { /** * 自定义 class */ className?: string; /** * 节点标识 */ id: string | number; /** * 节点内容 */ content?: ReactNode; /** * 是否禁用 */ disabled?: boolean; /** * @private * 点击回调 */ onClick?: (e: MouseEvent) => void; /** * @private * 点击展开/收起按钮的回调 */ onClickToggle?: (e: MouseEvent) => void; /** * @todo * 展开/收起 icon svg */ toggleIcon?: SvgFC | null; /** * @todo * prefix icon svg */ prefixIcon?: SvgFC | null; /** * @todo * async 模式下指定为叶子节点,不加载子节点 * * - 仅当 nodes 为 async nodes getter 时有效 * - 仅当 isLeaf === false 且 子节点为 `undefined` | `[]` */ isLeaf?: boolean; /** * @todo * 加载中 * @private 异步加载 nodes 场景用,暂无公布需要 */ loading?: boolean; /** * 缩进 * @private */ indent?: number; /** * 父节点 id(预留,或无用) * @private */ parentId?: TreeNodeId; /** * 子节点 */ children?: TreeNodeItem[]; } export declare function getDescendantIds(children?: TreeNodeItem[]): Array; export declare const TreeNode: FC;