import { CSSProperties, PropType } from 'vue';
import { EmptyRender, FolderProps, FolderTreeData, PreviewRender, PreviewTitleRender } from './interface';
export interface FilePreviewProps {
    prefixCls: string;
    classes?: FolderProps["classes"];
    styles?: FolderProps["styles"];
    selectedFile?: string[] | null;
    fileContent?: string;
    loading?: boolean;
    previewTitle?: PreviewTitleRender;
    previewRender?: PreviewRender;
    emptyRender?: EmptyRender;
    getFileNode?: (path: string[]) => {
        title: FolderTreeData["title"];
        path: string;
        content?: string;
    } | undefined;
}
declare const FilePreview: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        required: true;
    };
    classes: {
        type: PropType<FilePreviewProps["classes"]>;
        default: () => {};
    };
    styles: {
        type: PropType<FilePreviewProps["styles"]>;
        default: () => {};
    };
    style: {
        type: PropType<CSSProperties>;
        default: undefined;
    };
    selectedFile: {
        type: PropType<string[] | null>;
        default: () => never[];
    };
    fileContent: {
        type: StringConstructor;
        default: string;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    previewTitle: {
        type: PropType<PreviewTitleRender>;
        default: undefined;
    };
    previewRender: {
        type: PropType<PreviewRender>;
        default: undefined;
    };
    emptyRender: {
        type: PropType<EmptyRender>;
        default: undefined;
    };
    getFileNode: {
        type: PropType<FilePreviewProps["getFileNode"]>;
        default: undefined;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        required: true;
    };
    classes: {
        type: PropType<FilePreviewProps["classes"]>;
        default: () => {};
    };
    styles: {
        type: PropType<FilePreviewProps["styles"]>;
        default: () => {};
    };
    style: {
        type: PropType<CSSProperties>;
        default: undefined;
    };
    selectedFile: {
        type: PropType<string[] | null>;
        default: () => never[];
    };
    fileContent: {
        type: StringConstructor;
        default: string;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    previewTitle: {
        type: PropType<PreviewTitleRender>;
        default: undefined;
    };
    previewRender: {
        type: PropType<PreviewRender>;
        default: undefined;
    };
    emptyRender: {
        type: PropType<EmptyRender>;
        default: undefined;
    };
    getFileNode: {
        type: PropType<FilePreviewProps["getFileNode"]>;
        default: undefined;
    };
}>> & Readonly<{}>, {
    style: CSSProperties;
    loading: boolean;
    classes: Partial<Record<import('./interface').SemanticType, string>> | undefined;
    styles: Partial<Record<import('./interface').SemanticType, CSSProperties>> | undefined;
    previewTitle: PreviewTitleRender;
    previewRender: PreviewRender;
    getFileNode: ((path: string[]) => {
        title: FolderTreeData["title"];
        path: string;
        content?: string;
    } | undefined) | undefined;
    selectedFile: string[] | null;
    fileContent: string;
    emptyRender: EmptyRender;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default FilePreview;
