import type { ComputedRef, InjectionKey, Slots } from 'vue';
import type TreeNode from '../_common/js/tree/tree-node';
import type { TdTreeProps } from './type';
export declare const useCLASSNAMES: () => ComputedRef<{
    icon: string;
    folderIcon: string;
    actived: string;
    disabled: string;
    treeIconRight: string;
    treeIconDown: string;
    treeNodeToggle: string;
    tree: string;
    treeTransition: string;
    treeBlockNode: string;
    treeEmpty: string;
    treeList: string;
    treeNode: string;
    treeNodeOpen: string;
    treeHoverAble: string;
    treeCheckable: string;
    treeLabel: string;
    treeLabelStrictly: string;
    treeIcon: string;
    treeIconDefault: string;
    treeSpace: string;
    treeOperations: string;
    treeNodeVisible: string;
    treeNodeHidden: string;
    treeNodeEnter: string;
    treeNodeLeave: string;
    treeNodeDraggable: string;
    treeNodeDragging: string;
    treeNodeDragTipTop: string;
    treeNodeDragTipBottom: string;
    treeNodeDragTipHighlight: string;
    line: string;
    lineIsLeaf: string;
    lineIsFirst: string;
}>;
export declare const injectKey: InjectionKey<ComputedRef<{
    checkProps: TdTreeProps['checkProps'];
    icon: TdTreeProps['icon'];
    label: TdTreeProps['label'];
    line: TdTreeProps['line'];
    operations: TdTreeProps['operations'];
    disableCheck: TdTreeProps['disableCheck'];
    scopedSlots: Slots;
}>>;
export declare const dragInjectKey: InjectionKey<{
    onDragStart: (context: {
        node: TreeNode;
        e: DragEvent;
    }) => void;
    onDragEnd: (context: {
        node: TreeNode;
        e: DragEvent;
    }) => void;
    onDragOver: (context: {
        node: TreeNode;
        e: DragEvent;
    }) => void;
    onDragLeave: (context: {
        node: TreeNode;
        e: DragEvent;
    }) => void;
    onDrop: (context: {
        node: TreeNode;
        dropPosition: number;
        e: DragEvent;
    }) => void;
}>;
