import type { Key } from '@antdv/ui/es/types'; import type { DataNode, EventDataNode } from '@antdv/ui/es/vue-components/vc-tree/src/interface'; import type { CheckInfo, TreeNodeProps } from '@antdv/ui/es/vue-components/vc-tree/src/props'; export type ExpandAction = false | 'click' | 'doubleclick' | 'dblclick'; export interface AntdTreeNodeAttribute { eventKey: string; prefixCls: string; class: string; expanded: boolean; selected: boolean; checked: boolean; halfChecked: boolean; children: any; title: any; pos: string; dragOver: boolean; dragOverGapTop: boolean; dragOverGapBottom: boolean; isLeaf: boolean; selectable: boolean; disabled: boolean; disableCheckbox: boolean; } export type AntTreeNodeProps = TreeNodeProps; export type AntTreeCheckInfo = CheckInfo; export type TreeDataItem = DataNode; export interface AntTreeNodeBaseEvent { node: EventDataNode; nativeEvent: MouseEvent; } export interface AntTreeNodeCheckedEvent extends AntTreeNodeBaseEvent { event: 'check'; checked?: boolean; checkedNodes?: DataNode[]; } export interface AntTreeNodeSelectedEvent extends AntTreeNodeBaseEvent { event: 'select'; selected?: boolean; selectedNodes?: DataNode[]; } export interface AntTreeNodeExpandedEvent extends AntTreeNodeBaseEvent { expanded?: boolean; } export interface AntTreeNodeMouseEvent { node: EventDataNode; event: DragEvent; } export interface AntTreeNodeDragEnterEvent extends AntTreeNodeMouseEvent { expandedKeys: Key[]; } export interface AntTreeNodeDropEvent { node: EventDataNode; dragNode: EventDataNode; dragNodesKeys: Key[]; dropPosition: number; dropToGap?: boolean; event: MouseEvent; } export type { DataNode, EventDataNode } from '@antdv/ui/es/vue-components/vc-tree/src/interface';