import type { UploadFile } from '../type';
import type { CommonDisplayFileProps } from '../interface';
export interface NormalFileProps extends CommonDisplayFileProps {
    multiple: boolean;
}
declare const NormalFile: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    uploadPrefix: string;
    icons: import("../../config-provider").IconConfig;
}> & import("@vue/composition-api").Data, {
    renderProgress(percent: number): JSX.Element;
    renderFilePreviewAsText(files: UploadFile[]): JSX.Element[];
    renderFilePreviewAsInput(): JSX.Element;
}, {}, {
    files: import("vue").PropType<UploadFile[]>;
    toUploadFiles: import("vue").PropType<UploadFile[]>;
    displayFiles: import("vue").PropType<UploadFile[]>;
    theme: import("vue").PropType<"image" | "custom" | "file" | "file-input" | "file-flow" | "image-flow">;
    abridgeName: import("vue").PropType<number[]>;
    placeholder: StringConstructor;
    classPrefix: StringConstructor;
    tips: StringConstructor;
    status: import("vue").PropType<"default" | "error" | "warning" | "success">;
    locale: import("vue").PropType<import("../../config-provider").UploadConfig>;
    sizeOverLimitMessage: StringConstructor;
    autoUpload: BooleanConstructor;
    disabled: BooleanConstructor;
    uploading: BooleanConstructor;
    tipsClasses: import("vue").PropType<string>;
    errorClasses: import("vue").PropType<string[]>;
    default: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    fileListDisplay: import("vue").PropType<(h: import("vue").CreateElement, props: {
        files: UploadFile[];
        dragEvents?: import("../type").UploadDisplayDragEvents;
    }) => import("vue/types/vnode").ScopedSlotReturnValue>;
    onRemove: import("vue").PropType<(p: import("../type").UploadRemoveContext) => void>;
    multiple: BooleanConstructor;
}, import("@vue/composition-api").ExtractPropTypes<{
    files: import("vue").PropType<UploadFile[]>;
    toUploadFiles: import("vue").PropType<UploadFile[]>;
    displayFiles: import("vue").PropType<UploadFile[]>;
    theme: import("vue").PropType<"image" | "custom" | "file" | "file-input" | "file-flow" | "image-flow">;
    abridgeName: import("vue").PropType<number[]>;
    placeholder: StringConstructor;
    classPrefix: StringConstructor;
    tips: StringConstructor;
    status: import("vue").PropType<"default" | "error" | "warning" | "success">;
    locale: import("vue").PropType<import("../../config-provider").UploadConfig>;
    sizeOverLimitMessage: StringConstructor;
    autoUpload: BooleanConstructor;
    disabled: BooleanConstructor;
    uploading: BooleanConstructor;
    tipsClasses: import("vue").PropType<string>;
    errorClasses: import("vue").PropType<string[]>;
    default: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    fileListDisplay: import("vue").PropType<(h: import("vue").CreateElement, props: {
        files: UploadFile[];
        dragEvents?: import("../type").UploadDisplayDragEvents;
    }) => import("vue/types/vnode").ScopedSlotReturnValue>;
    onRemove: import("vue").PropType<(p: import("../type").UploadRemoveContext) => void>;
    multiple: BooleanConstructor;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    disabled: boolean;
    multiple: boolean;
    autoUpload: boolean;
    uploading: boolean;
} & {
    classPrefix?: string;
    default?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    errorClasses?: string[];
    status?: "default" | "error" | "warning" | "success";
    tips?: string;
    placeholder?: string;
    theme?: "image" | "custom" | "file" | "file-input" | "file-flow" | "image-flow";
    onRemove?: (p: import("../type").UploadRemoveContext) => void;
    abridgeName?: number[];
    fileListDisplay?: (h: import("vue").CreateElement, props: {
        files: UploadFile[];
        dragEvents?: import("../type").UploadDisplayDragEvents;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    files?: UploadFile[];
    locale?: unknown;
    toUploadFiles?: UploadFile[];
    displayFiles?: UploadFile[];
    tipsClasses?: string;
    sizeOverLimitMessage?: string;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    uploadPrefix: string;
    icons: import("../../config-provider").IconConfig;
}>, import("@vue/composition-api").Data, {}, {
    renderProgress(percent: number): JSX.Element;
    renderFilePreviewAsText(files: UploadFile[]): JSX.Element[];
    renderFilePreviewAsInput(): JSX.Element;
}, {}, {}, {}, {
    disabled: boolean;
    multiple: boolean;
    autoUpload: boolean;
    uploading: boolean;
} & {
    classPrefix?: string;
    default?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    errorClasses?: string[];
    status?: "default" | "error" | "warning" | "success";
    tips?: string;
    placeholder?: string;
    theme?: "image" | "custom" | "file" | "file-input" | "file-flow" | "image-flow";
    onRemove?: (p: import("../type").UploadRemoveContext) => void;
    abridgeName?: number[];
    fileListDisplay?: (h: import("vue").CreateElement, props: {
        files: UploadFile[];
        dragEvents?: import("../type").UploadDisplayDragEvents;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    files?: UploadFile[];
    locale?: unknown;
    toUploadFiles?: UploadFile[];
    displayFiles?: UploadFile[];
    tipsClasses?: string;
    sizeOverLimitMessage?: string;
}, {
    disabled: boolean;
    multiple: boolean;
    autoUpload: boolean;
    uploading: boolean;
}, true>);
export default NormalFile;
