import { NTree } from './interface';
export declare const componentName = "CdsTreeDirectory";
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    treeData: {
        type: import('vue').PropType<NTree.IDataNode[]>;
        default: undefined;
    };
    selectable: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    multiple: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    checkable: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    draggable: {
        type: import('vue').PropType<NTree.TDraggableConfig | boolean>;
        default: boolean;
    };
    checkedKeys: {
        type: import('vue').PropType<NTree.TKey[] | {
            checked: NTree.TKey[];
            halfChecked: NTree.TKey[];
        }>;
        default: undefined;
    };
    expandedKeys: {
        type: import('vue').PropType<NTree.TKey[]>;
        default: undefined;
    };
    selectedKeys: {
        type: import('vue').PropType<NTree.TKey[]>;
        default: undefined;
    };
    autoExpandParent: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    defaultExpandedKeys: {
        type: import('vue').PropType<NTree.TKey[]>;
        default: () => never[];
    };
    defaultExpandParent: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    defaultExpandAll: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    defaultSelectedKeys: {
        type: import('vue').PropType<NTree.TKey[]>;
        default: undefined;
    };
    expandAction: Omit<{
        type: import('vue').PropType<NTree.TExpandAction>;
        default: undefined;
    }, "default" | "type"> & {
        type: import('vue').PropType<string | false>;
        default: string | false;
    };
    checkStrictly: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    allowDrop: {
        type: import('vue').PropType<NTree.TAllowDrop>;
        default: () => true;
    };
    blockNode: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    fieldNames: {
        type: import('vue').PropType<NTree.IFieldNames>;
        default: undefined;
    };
    showLine: {
        type: import('vue').PropType<boolean | {
            showLeafIcon: boolean | import('@central-design-system/icons').TCdsIconsName;
        }>;
        default: undefined;
    };
    showIcon: Omit<{
        type: import('vue').PropType<boolean>;
        default: boolean;
    }, "default" | "type"> & {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    filterTreeNode: {
        type: import('vue').PropType<(treeNode: NTree.IEventDataNode) => boolean>;
        default: undefined;
    };
    loadData: {
        type: import('vue').PropType<(treeNode: NTree.IEventDataNode) => Promise<any>>;
        default: undefined;
    };
    loadedKeys: {
        type: import('vue').PropType<NTree.TKey[]>;
        default: () => never[];
    };
    icon: {
        type: import('vue').PropType<(nodeProps: NTree.ITreeNodeAttribute) => any>;
        default: undefined;
    };
    switcherIcon: {
        type: import('vue').PropType<(nodeProps: import('./components/SwitcherIcon').SwitcherIconProps) => any>;
        default: undefined;
    };
    openAnimation: {
        type: FunctionConstructor;
        default: undefined;
    };
    virtual: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    height: {
        type: import('vue').PropType<number>;
        default: undefined;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    /**
     * Событие выбора узла (v-model)
     * @type { selectedKeys: NTree.TKey[] }
     */
    'update:selectedKeys': (selectedKeys: NTree.TKey[]) => true;
    /**
     * Событие выбора узла по чекбоксу (v-model)
     * @type { checkedKeys: NTree.TKey[] | { checked: NTree.TKey[]; halfChecked: NTree.TKey[] } }
     */
    'update:checkedKeys': (checkedKeys: NTree.TKey[] | {
        checked: NTree.TKey[];
        halfChecked: NTree.TKey[];
    }) => true;
    /**
     * Событие раскрытия узла (v-model)
     * @type { expandedKeys: NTree.TKey[] }
     */
    'update:expandedKeys': (expandedKeys: NTree.TKey[]) => true;
    /**
     * Событие клика по узлу
     * @type { event: MouseEvent, node: NTree.IEventDataNode }
     */
    click: (event: MouseEvent, node: NTree.IEventDataNode) => true;
    /**
     * Событие выбора узла
     * @type { checked: { checked: NTree.TKey[]; halfChecked: NTree.TKey[] } | NTree.TKey[], info: NTree.ICheckInfo }
     */
    check: (checked: {
        checked: NTree.TKey[];
        halfChecked: NTree.TKey[];
    } | NTree.TKey[], info: NTree.ICheckInfo) => true;
    /**
     * Событие начала перетаскивания узла
     * @type { info: NTree.TNodeDragEventParams }
     */
    dragstart: (info: NTree.TNodeDragEventParams) => true;
    /**
     * Событие окончания перетаскивания узла
     * @type { info: NTree.TNodeDragEventParams }
     */
    dragend: (info: NTree.TNodeDragEventParams) => true;
    /**
     * Событие входа узла в зону перетаскивания
     * @type { info: NTree.TNodeDragEventParams & { expandedKeys: NTree.TKey[] } }
     */
    dragenter: (info: NTree.TNodeDragEventParams & {
        expandedKeys: NTree.TKey[];
    }) => true;
    /**
     * Событие выхода узла из зоны перетаскивания
     * @type { info: NTree.TNodeDragEventParams }
     */
    dragleave: (info: NTree.TNodeDragEventParams) => true;
    /**
     * Событие перемещения узла в зоне перетаскивания
     * @type { info: NTree.TNodeDragEventParams }
     */
    dragover: (info: NTree.TNodeDragEventParams) => true;
    /**
     * Событие перемещения узла
     * @type { info: NTree.TNodeDragEventParams & { dragNode: NTree.IEventDataNode; dragNodesKeys: NTree.TKey[]; dragPosition: number;dropToGap: boolean; } }
     */
    drop: (info: NTree.TNodeDragEventParams & {
        dragNode: NTree.IEventDataNode;
        dragNodesKeys: NTree.TKey[];
        dragPosition: number;
        dropToGap: boolean;
    }) => true;
    /**
     * Событие раскрытия узла
     * @type { expandedKeys: NTree.TKey[], info: { node: NTree.TEventHandler; expanded: boolean; nativeEvent: MouseEvent } }
     */
    expand: (expandedKeys: NTree.TKey[], info: {
        node: NTree.IEventDataNode;
        expanded: boolean;
        nativeEvent: MouseEvent;
    }) => true;
    /**
     * Событие выбора узла
     * @type { selectedKeys: NTree.TKey, info: { event: 'select'; selected: boolean; node: NTree.IEventDataNode; selectedNodes: NTree.IDataNode[]; nativeEvent: MouseEvent; } }
     */
    select: (selectedKeys: NTree.TKey[], info: {
        event: "select";
        selected: boolean;
        node: NTree.IEventDataNode;
        selectedNodes: NTree.IDataNode[];
        nativeEvent: MouseEvent;
    }) => true;
    /**
     * Событие загрузки узла
     * @type { treeNode: NTree.IEventDataNode }
     */
    load: (treeNode: NTree.IEventDataNode) => true;
    /**
     * Событие правого клика по узлу
     * @type { info: { event: MouseEvent; node: NTree.IEventDataNode } }
     */
    rightClick: (info: {
        event: MouseEvent;
        node: NTree.IEventDataNode;
    }) => true;
    dblclick: (event: MouseEvent, node: NTree.IEventDataNode) => true;
    doubleclick: (event: MouseEvent, node: NTree.IEventDataNode) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    treeData: {
        type: import('vue').PropType<NTree.IDataNode[]>;
        default: undefined;
    };
    selectable: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    multiple: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    checkable: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    draggable: {
        type: import('vue').PropType<NTree.TDraggableConfig | boolean>;
        default: boolean;
    };
    checkedKeys: {
        type: import('vue').PropType<NTree.TKey[] | {
            checked: NTree.TKey[];
            halfChecked: NTree.TKey[];
        }>;
        default: undefined;
    };
    expandedKeys: {
        type: import('vue').PropType<NTree.TKey[]>;
        default: undefined;
    };
    selectedKeys: {
        type: import('vue').PropType<NTree.TKey[]>;
        default: undefined;
    };
    autoExpandParent: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    defaultExpandedKeys: {
        type: import('vue').PropType<NTree.TKey[]>;
        default: () => never[];
    };
    defaultExpandParent: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    defaultExpandAll: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    defaultSelectedKeys: {
        type: import('vue').PropType<NTree.TKey[]>;
        default: undefined;
    };
    expandAction: Omit<{
        type: import('vue').PropType<NTree.TExpandAction>;
        default: undefined;
    }, "default" | "type"> & {
        type: import('vue').PropType<string | false>;
        default: string | false;
    };
    checkStrictly: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    allowDrop: {
        type: import('vue').PropType<NTree.TAllowDrop>;
        default: () => true;
    };
    blockNode: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    fieldNames: {
        type: import('vue').PropType<NTree.IFieldNames>;
        default: undefined;
    };
    showLine: {
        type: import('vue').PropType<boolean | {
            showLeafIcon: boolean | import('@central-design-system/icons').TCdsIconsName;
        }>;
        default: undefined;
    };
    showIcon: Omit<{
        type: import('vue').PropType<boolean>;
        default: boolean;
    }, "default" | "type"> & {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    filterTreeNode: {
        type: import('vue').PropType<(treeNode: NTree.IEventDataNode) => boolean>;
        default: undefined;
    };
    loadData: {
        type: import('vue').PropType<(treeNode: NTree.IEventDataNode) => Promise<any>>;
        default: undefined;
    };
    loadedKeys: {
        type: import('vue').PropType<NTree.TKey[]>;
        default: () => never[];
    };
    icon: {
        type: import('vue').PropType<(nodeProps: NTree.ITreeNodeAttribute) => any>;
        default: undefined;
    };
    switcherIcon: {
        type: import('vue').PropType<(nodeProps: import('./components/SwitcherIcon').SwitcherIconProps) => any>;
        default: undefined;
    };
    openAnimation: {
        type: FunctionConstructor;
        default: undefined;
    };
    virtual: {
        type: import('vue').PropType<boolean>;
        default: boolean;
    };
    height: {
        type: import('vue').PropType<number>;
        default: undefined;
    };
}>> & Readonly<{
    onClick?: ((event: MouseEvent, node: NTree.IEventDataNode) => any) | undefined;
    onCheck?: ((checked: NTree.TKey[] | {
        checked: NTree.TKey[];
        halfChecked: NTree.TKey[];
    }, info: NTree.ICheckInfo) => any) | undefined;
    onExpand?: ((expandedKeys: NTree.TKey[], info: {
        node: NTree.IEventDataNode;
        expanded: boolean;
        nativeEvent: MouseEvent;
    }) => any) | undefined;
    onDblclick?: ((event: MouseEvent, node: NTree.IEventDataNode) => any) | undefined;
    onDragend?: ((info: NTree.TNodeDragEventParams) => any) | undefined;
    onDragenter?: ((info: NTree.TNodeDragEventParams & {
        expandedKeys: NTree.TKey[];
    }) => any) | undefined;
    onDragleave?: ((info: NTree.TNodeDragEventParams) => any) | undefined;
    onDragover?: ((info: NTree.TNodeDragEventParams) => any) | undefined;
    onDragstart?: ((info: NTree.TNodeDragEventParams) => any) | undefined;
    onDrop?: ((info: NTree.TNodeDragEventParams & {
        dragNode: NTree.IEventDataNode;
        dragNodesKeys: NTree.TKey[];
        dragPosition: number;
        dropToGap: boolean;
    }) => any) | undefined;
    onLoad?: ((treeNode: NTree.IEventDataNode) => any) | undefined;
    onSelect?: ((selectedKeys: NTree.TKey[], info: {
        event: "select";
        selected: boolean;
        node: NTree.IEventDataNode;
        selectedNodes: NTree.IDataNode[];
        nativeEvent: MouseEvent;
    }) => any) | undefined;
    onDoubleclick?: ((event: MouseEvent, node: NTree.IEventDataNode) => any) | undefined;
    "onUpdate:selectedKeys"?: ((selectedKeys: NTree.TKey[]) => any) | undefined;
    "onUpdate:checkedKeys"?: ((checkedKeys: NTree.TKey[] | {
        checked: NTree.TKey[];
        halfChecked: NTree.TKey[];
    }) => any) | undefined;
    "onUpdate:expandedKeys"?: ((expandedKeys: NTree.TKey[]) => any) | undefined;
    onRightClick?: ((info: {
        event: MouseEvent;
        node: NTree.IEventDataNode;
    }) => any) | undefined;
}>, {
    draggable: boolean | NTree.TDraggableConfig;
    icon: (nodeProps: NTree.ITreeNodeAttribute) => any;
    multiple: boolean;
    height: number;
    checkable: boolean;
    selectable: boolean;
    switcherIcon: (nodeProps: import('./components/SwitcherIcon').SwitcherIconProps) => any;
    treeData: NTree.IDataNode[];
    checkedKeys: NTree.TKey[] | {
        checked: NTree.TKey[];
        halfChecked: NTree.TKey[];
    };
    expandedKeys: NTree.TKey[];
    selectedKeys: NTree.TKey[];
    autoExpandParent: boolean;
    defaultExpandedKeys: NTree.TKey[];
    defaultExpandParent: boolean;
    defaultExpandAll: boolean;
    defaultSelectedKeys: NTree.TKey[];
    expandAction: string | false;
    checkStrictly: boolean;
    allowDrop: NTree.TAllowDrop<NTree.IDataNode>;
    blockNode: boolean;
    fieldNames: NTree.IFieldNames;
    showLine: boolean | {
        showLeafIcon: boolean | import('@central-design-system/icons').TCdsIconsName;
    };
    showIcon: boolean;
    filterTreeNode: (treeNode: NTree.IEventDataNode) => boolean;
    loadData: (treeNode: NTree.IEventDataNode) => Promise<any>;
    loadedKeys: NTree.TKey[];
    openAnimation: Function;
    virtual: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
