import { PropType, VNodeChild } from 'vue';
import { DirectoryIconsMap, DirectoryTitleRender, FolderProps, FolderTreeData } from './interface';
export interface DirectoryTreeNode {
    key: string;
    path: string;
    pathSegments: string[];
    title: VNodeChild;
    icon?: VNodeChild;
    isLeaf?: boolean;
    content?: string;
    children?: DirectoryTreeNode[];
}
export interface DirectoryTreeProps {
    prefixCls: string;
    treeData: FolderTreeData[];
    directoryIcons?: DirectoryIconsMap;
    selectedKeys?: string[];
    expandedKeys?: string[];
    defaultExpandAll?: boolean;
    showLine?: boolean;
    classes?: FolderProps["classes"];
    styles?: FolderProps["styles"];
    directoryTitle?: DirectoryTitleRender;
}
declare const FolderDirectoryTree: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        required: true;
    };
    treeData: {
        type: PropType<FolderTreeData[]>;
        default: () => never[];
    };
    directoryIcons: {
        type: PropType<DirectoryIconsMap>;
        default: undefined;
    };
    selectedKeys: {
        type: PropType<string[]>;
        default: () => never[];
    };
    expandedKeys: {
        type: PropType<string[] | undefined>;
        default: undefined;
    };
    defaultExpandAll: {
        type: BooleanConstructor;
        default: boolean;
    };
    showLine: {
        type: BooleanConstructor;
        default: boolean;
    };
    classes: {
        type: PropType<FolderProps["classes"]>;
        default: () => {};
    };
    styles: {
        type: PropType<FolderProps["styles"]>;
        default: () => {};
    };
    directoryTitle: {
        type: PropType<DirectoryTitleRender>;
        default: undefined;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    select: (_keys: string[], _info: any) => true;
    expand: (_keys: string[], _info: any) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        required: true;
    };
    treeData: {
        type: PropType<FolderTreeData[]>;
        default: () => never[];
    };
    directoryIcons: {
        type: PropType<DirectoryIconsMap>;
        default: undefined;
    };
    selectedKeys: {
        type: PropType<string[]>;
        default: () => never[];
    };
    expandedKeys: {
        type: PropType<string[] | undefined>;
        default: undefined;
    };
    defaultExpandAll: {
        type: BooleanConstructor;
        default: boolean;
    };
    showLine: {
        type: BooleanConstructor;
        default: boolean;
    };
    classes: {
        type: PropType<FolderProps["classes"]>;
        default: () => {};
    };
    styles: {
        type: PropType<FolderProps["styles"]>;
        default: () => {};
    };
    directoryTitle: {
        type: PropType<DirectoryTitleRender>;
        default: undefined;
    };
}>> & Readonly<{
    onSelect?: ((_keys: string[], _info: any) => any) | undefined;
    onExpand?: ((_keys: string[], _info: any) => any) | undefined;
}>, {
    classes: Partial<Record<import('./interface').SemanticType, string>> | undefined;
    styles: Partial<Record<import('./interface').SemanticType, import('vue').CSSProperties>> | undefined;
    selectedKeys: string[];
    directoryTitle: DirectoryTitleRender;
    expandedKeys: string[] | undefined;
    treeData: FolderTreeData[];
    directoryIcons: DirectoryIconsMap;
    defaultExpandAll: boolean;
    showLine: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default FolderDirectoryTree;
