import type { ExtractPropTypes, PropType } from 'vue';
import type { AntdTreeNodeAttribute } from './Tree';
import type { DataNode, EventDataNode, Key } from '../vc-tree/interface';
export declare type ExpandAction = false | 'click' | 'doubleclick' | 'dblclick';
declare const directoryTreeProps: {
    expandAction: {
        type: PropType<ExpandAction>;
    };
    showLine: {
        type: BooleanConstructor;
        default: any;
    };
    multiple: {
        type: BooleanConstructor;
        default: any;
    };
    autoExpandParent: {
        type: BooleanConstructor;
        default: any;
    };
    checkStrictly: {
        type: BooleanConstructor;
        default: any;
    };
    checkable: {
        type: BooleanConstructor;
        default: any;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    defaultExpandAll: {
        type: BooleanConstructor;
        default: any;
    };
    defaultExpandParent: {
        type: BooleanConstructor;
        default: any;
    };
    defaultExpandedKeys: {
        type: PropType<Key[]>;
    };
    expandedKeys: {
        type: PropType<Key[]>;
    };
    checkedKeys: {
        type: PropType<Key[] | {
            checked: Key[];
            halfChecked: Key[];
        }>;
    };
    defaultCheckedKeys: {
        type: PropType<Key[]>;
    };
    selectedKeys: {
        type: PropType<Key[]>;
    };
    defaultSelectedKeys: {
        type: PropType<Key[]>;
    };
    selectable: {
        type: BooleanConstructor;
        default: any;
    };
    loadedKeys: {
        type: PropType<Key[]>;
    };
    draggable: {
        type: BooleanConstructor;
        default: any;
    };
    showIcon: {
        type: BooleanConstructor;
        default: any;
    };
    icon: {
        type: PropType<(nodeProps: AntdTreeNodeAttribute) => any>;
    };
    switcherIcon: import("vue-types").VueTypeValidableDef<any>;
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    replaceFields: {
        type: PropType<import("../vc-tree/interface").FieldNames>;
    };
    blockNode: {
        type: BooleanConstructor;
        default: any;
    };
    openAnimation: import("vue-types").VueTypeValidableDef<any>;
    focusable: {
        type: BooleanConstructor;
        default: any;
    };
    tabindex: NumberConstructor;
    children: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
    treeData: {
        type: PropType<DataNode[]>;
    };
    fieldNames: {
        type: PropType<import("../vc-tree/interface").FieldNames>;
    };
    allowDrop: {
        type: PropType<import("../vc-tree/props").AllowDrop>;
    };
    dropIndicatorRender: {
        type: PropType<(props: {
            dropPosition: 0 | 1 | -1;
            dropLevelOffset: number;
            indent: number;
            prefixCls: string;
            direction: import("../vc-tree/interface").Direction;
        }) => any>;
    };
    onFocus: {
        type: PropType<(e: any) => void>;
    };
    onBlur: {
        type: PropType<(e: any) => void>;
    };
    onKeydown: {
        type: PropType<import("../_util/EventInterface").EventHandler>;
    };
    onContextmenu: {
        type: PropType<import("../_util/EventInterface").EventHandler>;
    };
    onClick: {
        type: PropType<import("../vc-tree/contextTypes").NodeMouseEventHandler>;
    };
    onDblclick: {
        type: PropType<import("../vc-tree/contextTypes").NodeMouseEventHandler>;
    };
    onScroll: {
        type: PropType<import("../_util/EventInterface").EventHandler>;
    };
    onExpand: {
        type: PropType<(expandedKeys: Key[], info: {
            node: EventDataNode;
            expanded: boolean;
            nativeEvent: any;
        }) => void>;
    };
    onCheck: {
        type: PropType<(checked: Key[] | {
            checked: Key[];
            halfChecked: Key[];
        }, info: import("../vc-tree/props").CheckInfo) => void>;
    };
    onSelect: {
        type: PropType<(selectedKeys: Key[], info: {
            event: "select";
            selected: boolean;
            node: EventDataNode;
            selectedNodes: DataNode[];
            nativeEvent: any;
        }) => void>;
    };
    onLoad: {
        type: PropType<(loadedKeys: Key[], info: {
            event: "load";
            node: EventDataNode;
        }) => void>;
    };
    loadData: {
        type: PropType<(treeNode: EventDataNode) => Promise<void>>;
    };
    onMouseenter: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeMouseEventParams) => void>;
    };
    onMouseleave: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeMouseEventParams) => void>;
    };
    onRightClick: {
        type: PropType<(info: {
            event: any;
            node: EventDataNode;
        }) => void>;
    };
    onDragstart: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams) => void>;
    };
    onDragenter: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams & {
            expandedKeys: Key[];
        }) => void>;
    };
    onDragover: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams) => void>;
    };
    onDragleave: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams) => void>;
    };
    onDragend: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams) => void>;
    };
    onDrop: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams & {
            dragNode: EventDataNode;
            dragNodesKeys: Key[];
            dropPosition: number;
            dropToGap: boolean;
        }) => void>;
    };
    onActiveChange: {
        type: PropType<(key: Key) => void>;
    };
    filterTreeNode: {
        type: PropType<(treeNode: EventDataNode) => boolean>;
    };
    motion: import("vue-types").VueTypeValidableDef<any>;
    height: NumberConstructor;
    itemHeight: NumberConstructor;
    virtual: {
        type: BooleanConstructor;
        default: any;
    };
    direction: {
        type: PropType<import("../vc-tree/interface").Direction>;
    };
};
export declare type DirectoryTreeProps = Partial<ExtractPropTypes<typeof directoryTreeProps>>;
declare const _default: import("vue").DefineComponent<{
    expandAction: {
        type: PropType<ExpandAction>;
    };
    showLine: {
        type: BooleanConstructor;
        default: any;
    };
    multiple: {
        type: BooleanConstructor;
        default: any;
    };
    autoExpandParent: {
        type: BooleanConstructor;
        default: any;
    };
    checkStrictly: {
        type: BooleanConstructor;
        default: any;
    };
    checkable: {
        type: BooleanConstructor;
        default: any;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    defaultExpandAll: {
        type: BooleanConstructor;
        default: any;
    };
    defaultExpandParent: {
        type: BooleanConstructor;
        default: any;
    };
    defaultExpandedKeys: {
        type: PropType<Key[]>;
    };
    expandedKeys: {
        type: PropType<Key[]>;
    };
    checkedKeys: {
        type: PropType<Key[] | {
            checked: Key[];
            halfChecked: Key[];
        }>;
    };
    defaultCheckedKeys: {
        type: PropType<Key[]>;
    };
    selectedKeys: {
        type: PropType<Key[]>;
    };
    defaultSelectedKeys: {
        type: PropType<Key[]>;
    };
    selectable: {
        type: BooleanConstructor;
        default: any;
    };
    loadedKeys: {
        type: PropType<Key[]>;
    };
    draggable: {
        type: BooleanConstructor;
        default: any;
    };
    showIcon: {
        type: BooleanConstructor;
        default: any;
    };
    icon: {
        type: PropType<(nodeProps: AntdTreeNodeAttribute) => any>;
    };
    switcherIcon: import("vue-types").VueTypeValidableDef<any>;
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    replaceFields: {
        type: PropType<import("../vc-tree/interface").FieldNames>;
    };
    blockNode: {
        type: BooleanConstructor;
        default: any;
    };
    openAnimation: import("vue-types").VueTypeValidableDef<any>;
    focusable: {
        type: BooleanConstructor;
        default: any;
    };
    tabindex: NumberConstructor;
    children: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
    treeData: {
        type: PropType<DataNode[]>;
    };
    fieldNames: {
        type: PropType<import("../vc-tree/interface").FieldNames>;
    };
    allowDrop: {
        type: PropType<import("../vc-tree/props").AllowDrop>;
    };
    dropIndicatorRender: {
        type: PropType<(props: {
            dropPosition: 0 | 1 | -1;
            dropLevelOffset: number;
            indent: number;
            prefixCls: string;
            direction: import("../vc-tree/interface").Direction;
        }) => any>;
    };
    onFocus: {
        type: PropType<(e: any) => void>;
    };
    onBlur: {
        type: PropType<(e: any) => void>;
    };
    onKeydown: {
        type: PropType<import("../_util/EventInterface").EventHandler>;
    };
    onContextmenu: {
        type: PropType<import("../_util/EventInterface").EventHandler>;
    };
    onClick: {
        type: PropType<import("../vc-tree/contextTypes").NodeMouseEventHandler>;
    };
    onDblclick: {
        type: PropType<import("../vc-tree/contextTypes").NodeMouseEventHandler>;
    };
    onScroll: {
        type: PropType<import("../_util/EventInterface").EventHandler>;
    };
    onExpand: {
        type: PropType<(expandedKeys: Key[], info: {
            node: EventDataNode;
            expanded: boolean;
            nativeEvent: any;
        }) => void>;
    };
    onCheck: {
        type: PropType<(checked: Key[] | {
            checked: Key[];
            halfChecked: Key[];
        }, info: import("../vc-tree/props").CheckInfo) => void>;
    };
    onSelect: {
        type: PropType<(selectedKeys: Key[], info: {
            event: "select";
            selected: boolean;
            node: EventDataNode;
            selectedNodes: DataNode[];
            nativeEvent: any;
        }) => void>;
    };
    onLoad: {
        type: PropType<(loadedKeys: Key[], info: {
            event: "load";
            node: EventDataNode;
        }) => void>;
    };
    loadData: {
        type: PropType<(treeNode: EventDataNode) => Promise<void>>;
    };
    onMouseenter: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeMouseEventParams) => void>;
    };
    onMouseleave: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeMouseEventParams) => void>;
    };
    onRightClick: {
        type: PropType<(info: {
            event: any;
            node: EventDataNode;
        }) => void>;
    };
    onDragstart: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams) => void>;
    };
    onDragenter: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams & {
            expandedKeys: Key[];
        }) => void>;
    };
    onDragover: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams) => void>;
    };
    onDragleave: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams) => void>;
    };
    onDragend: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams) => void>;
    };
    onDrop: {
        type: PropType<(info: import("../vc-tree/contextTypes").NodeDragEventParams & {
            dragNode: EventDataNode;
            dragNodesKeys: Key[];
            dropPosition: number;
            dropToGap: boolean;
        }) => void>;
    };
    onActiveChange: {
        type: PropType<(key: Key) => void>;
    };
    filterTreeNode: {
        type: PropType<(treeNode: EventDataNode) => boolean>;
    };
    motion: import("vue-types").VueTypeValidableDef<any>;
    height: NumberConstructor;
    itemHeight: NumberConstructor;
    virtual: {
        type: BooleanConstructor;
        default: any;
    };
    direction: {
        type: PropType<import("../vc-tree/interface").Direction>;
    };
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "select" | "update:selectedKeys" | "check" | "update:checkedKeys" | "update:expandedKeys" | "expand" | "doubleclick" | "dblclick")[], "select" | "click" | "update:selectedKeys" | "check" | "update:checkedKeys" | "update:expandedKeys" | "expand" | "doubleclick" | "dblclick", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    expandAction?: unknown;
    showLine?: unknown;
    multiple?: unknown;
    autoExpandParent?: unknown;
    checkStrictly?: unknown;
    checkable?: unknown;
    disabled?: unknown;
    defaultExpandAll?: unknown;
    defaultExpandParent?: unknown;
    defaultExpandedKeys?: unknown;
    expandedKeys?: unknown;
    checkedKeys?: unknown;
    defaultCheckedKeys?: unknown;
    selectedKeys?: unknown;
    defaultSelectedKeys?: unknown;
    selectable?: unknown;
    loadedKeys?: unknown;
    draggable?: unknown;
    showIcon?: unknown;
    icon?: unknown;
    switcherIcon?: unknown;
    prefixCls?: unknown;
    replaceFields?: unknown;
    blockNode?: unknown;
    openAnimation?: unknown;
    focusable?: unknown;
    tabindex?: unknown;
    children?: unknown;
    treeData?: unknown;
    fieldNames?: unknown;
    allowDrop?: unknown;
    dropIndicatorRender?: unknown;
    onFocus?: unknown;
    onBlur?: unknown;
    onKeydown?: unknown;
    onContextmenu?: unknown;
    onClick?: unknown;
    onDblclick?: unknown;
    onScroll?: unknown;
    onExpand?: unknown;
    onCheck?: unknown;
    onSelect?: unknown;
    onLoad?: unknown;
    loadData?: unknown;
    onMouseenter?: unknown;
    onMouseleave?: unknown;
    onRightClick?: unknown;
    onDragstart?: unknown;
    onDragenter?: unknown;
    onDragover?: unknown;
    onDragleave?: unknown;
    onDragend?: unknown;
    onDrop?: unknown;
    onActiveChange?: unknown;
    filterTreeNode?: unknown;
    motion?: unknown;
    height?: unknown;
    itemHeight?: unknown;
    virtual?: unknown;
    direction?: unknown;
} & {
    prefixCls: string;
} & {
    disabled?: boolean;
    height?: number;
    direction?: import("../vc-tree/interface").Direction;
    virtual?: boolean;
    onDragend?: (info: import("../vc-tree/contextTypes").NodeDragEventParams) => void;
    onDragenter?: (info: import("../vc-tree/contextTypes").NodeDragEventParams & {
        expandedKeys: Key[];
    }) => void;
    onDragleave?: (info: import("../vc-tree/contextTypes").NodeDragEventParams) => void;
    onDragover?: (info: import("../vc-tree/contextTypes").NodeDragEventParams) => void;
    onDragstart?: (info: import("../vc-tree/contextTypes").NodeDragEventParams) => void;
    onDrop?: (info: import("../vc-tree/contextTypes").NodeDragEventParams & {
        dragNode: EventDataNode;
        dragNodesKeys: Key[];
        dropPosition: number;
        dropToGap: boolean;
    }) => void;
    onFocus?: (e: any) => void;
    onBlur?: (e: any) => void;
    onLoad?: (loadedKeys: Key[], info: {
        event: "load";
        node: EventDataNode;
    }) => void;
    onKeydown?: import("../_util/EventInterface").EventHandler;
    onClick?: import("../vc-tree/contextTypes").NodeMouseEventHandler;
    onContextmenu?: import("../_util/EventInterface").EventHandler;
    onDblclick?: import("../vc-tree/contextTypes").NodeMouseEventHandler;
    onMouseenter?: (info: import("../vc-tree/contextTypes").NodeMouseEventParams) => void;
    onMouseleave?: (info: import("../vc-tree/contextTypes").NodeMouseEventParams) => void;
    onSelect?: (selectedKeys: Key[], info: {
        event: "select";
        selected: boolean;
        node: EventDataNode;
        selectedNodes: DataNode[];
        nativeEvent: any;
    }) => void;
    onScroll?: import("../_util/EventInterface").EventHandler;
    icon?: (nodeProps: AntdTreeNodeAttribute) => any;
    multiple?: boolean;
    tabindex?: number;
    children?: import("../_util/type").VueNode;
    motion?: any;
    selectedKeys?: Key[];
    selectable?: boolean;
    itemHeight?: number;
    checkedKeys?: Key[] | {
        checked: Key[];
        halfChecked: Key[];
    };
    draggable?: boolean;
    checkable?: boolean;
    switcherIcon?: any;
    focusable?: boolean;
    expandedKeys?: Key[];
    loadedKeys?: Key[];
    onActiveChange?: (key: Key) => void;
    treeData?: DataNode[];
    fieldNames?: unknown;
    showLine?: boolean;
    showIcon?: boolean;
    checkStrictly?: boolean;
    defaultExpandParent?: boolean;
    autoExpandParent?: boolean;
    defaultExpandAll?: boolean;
    defaultExpandedKeys?: Key[];
    defaultCheckedKeys?: Key[];
    defaultSelectedKeys?: Key[];
    allowDrop?: import("../vc-tree/props").AllowDrop;
    dropIndicatorRender?: (props: {
        dropPosition: 0 | 1 | -1;
        dropLevelOffset: number;
        indent: number;
        prefixCls: string;
        direction: import("../vc-tree/interface").Direction;
    }) => any;
    onExpand?: (expandedKeys: Key[], info: {
        node: EventDataNode;
        expanded: boolean;
        nativeEvent: any;
    }) => void;
    onCheck?: (checked: Key[] | {
        checked: Key[];
        halfChecked: Key[];
    }, info: import("../vc-tree/props").CheckInfo) => void;
    loadData?: (treeNode: EventDataNode) => Promise<void>;
    onRightClick?: (info: {
        event: any;
        node: EventDataNode;
    }) => void;
    filterTreeNode?: (treeNode: EventDataNode) => boolean;
    replaceFields?: unknown;
    blockNode?: boolean;
    openAnimation?: any;
    expandAction?: ExpandAction;
}> & {
    onClick?: (...args: any[]) => any;
    onDblclick?: (...args: any[]) => any;
    onSelect?: (...args: any[]) => any;
    "onUpdate:selectedKeys"?: (...args: any[]) => any;
    onExpand?: (...args: any[]) => any;
    onCheck?: (...args: any[]) => any;
    "onUpdate:checkedKeys"?: (...args: any[]) => any;
    "onUpdate:expandedKeys"?: (...args: any[]) => any;
    onDoubleclick?: (...args: any[]) => any;
}, {
    disabled: boolean;
    prefixCls: string;
    virtual: boolean;
    multiple: boolean;
    selectable: boolean;
    draggable: boolean;
    checkable: boolean;
    focusable: boolean;
    showLine: boolean;
    showIcon: boolean;
    checkStrictly: boolean;
    defaultExpandParent: boolean;
    autoExpandParent: boolean;
    defaultExpandAll: boolean;
    blockNode: boolean;
}>;
export default _default;
