import { CreateNamespace } from '../../../utils/src/create'; import { ExtractPropTypes, InjectionKey, PropType, SetupContext } from 'vue'; import { VirtualListProps } from '../../virtual-list/src/virtual-list'; import { ScrollbarProps } from '../../scrollbar/src/scrollbar'; export declare const InjectBem: InjectionKey; export type TreeKey = string; export type TreeValue = string | number; export interface TreeData extends TreeOption { rawData: TreeOption; level: number; children?: TreeData[]; isLeaf: boolean; isExpanded: boolean; isLoading: boolean; isSelected: boolean; dragBorder?: boolean; dragBorderBottom?: number; } export interface TreeOption { value: TreeValue; key: TreeKey; children?: TreeOption[]; isLeaf?: boolean; [key: string]: unknown; } export declare const treeProps: { readonly data: { readonly type: PropType; readonly required: true; }; readonly valueField: { readonly type: StringConstructor; readonly default: "value"; }; readonly keyField: { readonly type: StringConstructor; readonly default: "key"; }; readonly defaultExpandedKeys: { readonly type: PropType; }; readonly onLoad: { readonly type: PropType<(node: TreeOption) => Promise>; }; readonly selectable: { readonly type: BooleanConstructor; readonly default: false; }; readonly multiple: { readonly type: BooleanConstructor; readonly default: false; }; readonly selectedKeys: { readonly type: PropType; }; readonly indentWidth: { readonly type: NumberConstructor; readonly default: 21; }; readonly draggable: { readonly type: BooleanConstructor; readonly default: false; }; readonly virtualScroll: { readonly type: BooleanConstructor; readonly default: false; }; readonly virtualListProps: PropType>; readonly scrollbarProps: PropType; readonly theme: { type: PropType; }; readonly themeOverrides: PropType>; }; export type TreeProps = ExtractPropTypes; export declare const treeEmits: { 'update:selectedKeys': (payload: TreeKey[]) => void; drag: (payload: { dragNode: TreeOption; dragNodeParent: TreeOption | null; dropNode: TreeOption | null; position: number; }) => void; }; export type TreeEmits = typeof treeEmits; export declare const InjectSlots: InjectionKey<{ slots: SetupContext["slots"]; }>;