import { CSSProperties, PropType, SlotsType, StyleValue, VNodeChild } from 'vue';
import { DirectoryIconsMap, DirectoryTitleRender, EmptyRender, FileContentService, FolderProps, FolderSlots, FolderTreeData, PreviewRender, PreviewTitleRender, SemanticType } from './interface';
declare const XFolder: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    rootClass: {
        type: StringConstructor;
        default: string;
    };
    class: {
        type: PropType<FolderProps["class"]>;
        default: undefined;
    };
    style: {
        type: PropType<StyleValue>;
        default: undefined;
    };
    classes: {
        type: PropType<Partial<Record<SemanticType, string>>>;
        default: () => {};
    };
    styles: {
        type: PropType<Partial<Record<SemanticType, CSSProperties>>>;
        default: () => {};
    };
    treeData: {
        type: PropType<FolderTreeData[]>;
        default: () => never[];
    };
    directoryIcons: {
        type: PropType<DirectoryIconsMap>;
        default: undefined;
    };
    selectable: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectedFile: {
        type: PropType<string[] | undefined>;
        default: undefined;
    };
    defaultSelectedFile: {
        type: PropType<string[] | undefined>;
        default: undefined;
    };
    directoryTreeWith: {
        type: PropType<number | string>;
        default: number;
    };
    emptyRender: {
        type: PropType<EmptyRender>;
        default: undefined;
    };
    previewRender: {
        type: PropType<PreviewRender>;
        default: undefined;
    };
    defaultExpandedPaths: {
        type: PropType<string[] | undefined>;
        default: undefined;
    };
    expandedPaths: {
        type: PropType<string[] | undefined>;
        default: undefined;
    };
    defaultExpandAll: {
        type: BooleanConstructor;
        default: boolean;
    };
    fileContentService: {
        type: PropType<FileContentService>;
        default: undefined;
    };
    directoryTitle: {
        type: PropType<DirectoryTitleRender>;
        default: undefined;
    };
    previewTitle: {
        type: PropType<PreviewTitleRender>;
        default: undefined;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    selectedFileChange: (_file: {
        path: string[];
        title?: VNodeChild;
        content?: string;
    }) => true;
    fileClick: (_path: string, _content?: string) => true;
    folderClick: (_path: string) => true;
    expandedPathsChange: (_paths: string[]) => true;
    "update:selectedFile": (_paths: string[]) => true;
    "update:expandedPaths": (_paths: string[]) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    rootClass: {
        type: StringConstructor;
        default: string;
    };
    class: {
        type: PropType<FolderProps["class"]>;
        default: undefined;
    };
    style: {
        type: PropType<StyleValue>;
        default: undefined;
    };
    classes: {
        type: PropType<Partial<Record<SemanticType, string>>>;
        default: () => {};
    };
    styles: {
        type: PropType<Partial<Record<SemanticType, CSSProperties>>>;
        default: () => {};
    };
    treeData: {
        type: PropType<FolderTreeData[]>;
        default: () => never[];
    };
    directoryIcons: {
        type: PropType<DirectoryIconsMap>;
        default: undefined;
    };
    selectable: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectedFile: {
        type: PropType<string[] | undefined>;
        default: undefined;
    };
    defaultSelectedFile: {
        type: PropType<string[] | undefined>;
        default: undefined;
    };
    directoryTreeWith: {
        type: PropType<number | string>;
        default: number;
    };
    emptyRender: {
        type: PropType<EmptyRender>;
        default: undefined;
    };
    previewRender: {
        type: PropType<PreviewRender>;
        default: undefined;
    };
    defaultExpandedPaths: {
        type: PropType<string[] | undefined>;
        default: undefined;
    };
    expandedPaths: {
        type: PropType<string[] | undefined>;
        default: undefined;
    };
    defaultExpandAll: {
        type: BooleanConstructor;
        default: boolean;
    };
    fileContentService: {
        type: PropType<FileContentService>;
        default: undefined;
    };
    directoryTitle: {
        type: PropType<DirectoryTitleRender>;
        default: undefined;
    };
    previewTitle: {
        type: PropType<PreviewTitleRender>;
        default: undefined;
    };
}>> & Readonly<{
    onSelectedFileChange?: ((_file: {
        path: string[];
        title?: VNodeChild;
        content?: string;
    }) => any) | undefined;
    onFileClick?: ((_path: string, _content?: string | undefined) => any) | undefined;
    onFolderClick?: ((_path: string) => any) | undefined;
    onExpandedPathsChange?: ((_paths: string[]) => any) | undefined;
    "onUpdate:selectedFile"?: ((_paths: string[]) => any) | undefined;
    "onUpdate:expandedPaths"?: ((_paths: string[]) => any) | undefined;
}>, {
    prefixCls: string;
    style: StyleValue;
    rootClass: string;
    class: any;
    classes: Partial<Record<SemanticType, string>>;
    styles: Partial<Record<SemanticType, CSSProperties>>;
    selectable: boolean;
    directoryTitle: DirectoryTitleRender;
    previewTitle: PreviewTitleRender;
    previewRender: PreviewRender;
    treeData: FolderTreeData[];
    directoryIcons: DirectoryIconsMap;
    defaultExpandAll: boolean;
    selectedFile: string[] | undefined;
    emptyRender: EmptyRender;
    defaultSelectedFile: string[] | undefined;
    directoryTreeWith: string | number;
    defaultExpandedPaths: string[] | undefined;
    expandedPaths: string[] | undefined;
    fileContentService: FileContentService;
}, SlotsType<FolderSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default XFolder;
