import './style';
export * from './interface';
export declare const Upload: import("vue/types/vue").ExtendedVue<{
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("..").UploadConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default, {
    formDisabled: any;
    dragActive: boolean;
    loadingFile: import("./type").UploadFile;
    toUploadFiles: any[];
    errorMsg: string;
    showImageViewDialog: boolean;
    showImageViewUrl: string;
    xhrReq: XMLHttpRequest;
}, {
    emitChangeEvent(files: import("./type").UploadFile[], ctx: import("./type").UploadChangeContext): void;
    emitRemoveEvent(ctx: import("./type").UploadRemoveContext): void;
    handlePreviewImg(event: MouseEvent, file?: import("./type").UploadFile): void;
    handleChange(event: import("./interface").HTMLInputEvent): void;
    handleDragChange(files: FileList): void;
    handleSingleRemove(e: MouseEvent): void;
    handleFileInputRemove(e: MouseEvent): void;
    handleMultipleRemove(options: import("./interface").UploadRemoveOptions): void;
    handleListRemove(context: import("./interface").FlowRemoveContext): void;
    uploadFiles(files: FileList): void;
    upload(currentFiles: import("./type").UploadFile | import("./type").UploadFile[], index?: number): Promise<void>;
    handleMockProgress(files: import("./type").UploadFile[]): void;
    handleRequestMethod(files: import("./type").UploadFile[]): void;
    handleRequestMethodResponse(res: import("./type").RequestMethodResponse): boolean;
    multipleUpload(currentFiles: import("./type").UploadFile[]): void;
    onError(options: {
        event?: ProgressEvent<EventTarget>;
        file: import("./type").UploadFile;
        files: import("./type").UploadFile[];
        response?: any;
        resFormatted?: boolean;
    }): void;
    handleProgress({ event, file, files: currentFiles, percent, type, }: import("./interface").InnerProgressContext): void;
    handleSuccess({ event, file, files: currentFiles, response, }: import("./interface").SuccessContext): void;
    handlePreview({ file, event }: {
        file?: import("./type").UploadFile;
        event: ProgressEvent<EventTarget>;
    }): {
        file: import("./type").UploadFile;
        event: ProgressEvent<EventTarget>;
    };
    triggerUpload(): void;
    handleDragenter(e: DragEvent): void;
    handleDragleave(e: DragEvent): void;
    handleBeforeUpload(file: File | import("./type").UploadFile): Promise<boolean>;
    handleSizeLimit(fileSize: number): boolean;
    cancelUpload(): void;
    cancelPreviewImgDialog(): void;
    getDefaultTrigger(): JSX.Element;
    renderInput(): JSX.Element;
    renderSingleDisplay(triggerElement: import("vue/types/vnode").ScopedSlotReturnValue): JSX.Element;
    renderDraggerTrigger(): JSX.Element;
    renderTrigger(): any;
    renderCustom(triggerElement: import("vue").VNode): JSX.Element;
}, {
    isSingleRequest: boolean;
    tDisabled: boolean;
    showTips: boolean;
    showCustomDisplay: boolean;
    showSingleDisplay: boolean;
    showImgCard: boolean;
    singleDraggable: boolean;
    showUploadList: boolean;
    showImgDialog: boolean;
    showErrorMsg: boolean;
    tipsClasses: import("../common").ClassName;
    errorClasses: import("../common").ClassName;
    uploadInOneRequest: boolean;
    canBatchUpload: boolean;
    uploadListTriggerText: string;
}, {
    accept: string;
    action: string;
    allowUploadDuplicateFile: boolean;
    autoUpload: boolean;
    beforeUpload: (file: File | import("./type").UploadFile) => boolean | Promise<boolean>;
    data: Record<string, any> | ((file: File) => Record<string, any>);
    default: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    disabled: boolean;
    draggable: boolean;
    fileListDisplay: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    files: import("./type").UploadFile[];
    defaultFiles: import("./type").UploadFile[];
    format: (file: File) => import("./type").UploadFile;
    formatResponse: (response: any, context: import("./type").FormatResponseContext) => import("./type").ResponseType;
    headers: {
        [key: string]: string;
    };
    isBatchUpload: boolean;
    max: number;
    method: "option" | "get" | "post" | "POST" | "GET" | "PUT" | "OPTION" | "PATCH" | "put" | "patch";
    multiple: boolean;
    name: string;
    placeholder: string;
    requestMethod: (files: import("./type").UploadFile | import("./type").UploadFile[]) => Promise<import("./type").RequestMethodResponse>;
    showUploadProgress: boolean;
    sizeLimit: number | import("./type").SizeLimitObj;
    theme: "file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow";
    tips: string;
    trigger: string | ((h: import("vue").CreateElement, props: import("./type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue);
    uploadAllFilesInOneRequest: boolean;
    useMockProgress: boolean;
    withCredentials: boolean;
    onCancelUpload: () => void;
    onChange: (value: import("./type").UploadFile[], context: import("./type").UploadChangeContext) => void;
    onDragenter: (context: {
        e: DragEvent;
    }) => void;
    onDragleave: (context: {
        e: DragEvent;
    }) => void;
    onFail: (options: {
        e: ProgressEvent<EventTarget>;
        file: import("./type").UploadFile;
    }) => void;
    onPreview: (options: {
        file: import("./type").UploadFile;
        e: MouseEvent;
    }) => void;
    onProgress: (options: import("./type").ProgressContext) => void;
    onRemove: (context: import("./type").UploadRemoveContext) => void;
    onSelectChange: (files: import("./type").UploadFile[]) => void;
    onSuccess: (context: import("./type").SuccessContext) => void;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<{
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("..").UploadConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default, {
    formDisabled: any;
    dragActive: boolean;
    loadingFile: import("./type").UploadFile;
    toUploadFiles: any[];
    errorMsg: string;
    showImageViewDialog: boolean;
    showImageViewUrl: string;
    xhrReq: XMLHttpRequest;
}, {
    emitChangeEvent(files: import("./type").UploadFile[], ctx: import("./type").UploadChangeContext): void;
    emitRemoveEvent(ctx: import("./type").UploadRemoveContext): void;
    handlePreviewImg(event: MouseEvent, file?: import("./type").UploadFile): void;
    handleChange(event: import("./interface").HTMLInputEvent): void;
    handleDragChange(files: FileList): void;
    handleSingleRemove(e: MouseEvent): void;
    handleFileInputRemove(e: MouseEvent): void;
    handleMultipleRemove(options: import("./interface").UploadRemoveOptions): void;
    handleListRemove(context: import("./interface").FlowRemoveContext): void;
    uploadFiles(files: FileList): void;
    upload(currentFiles: import("./type").UploadFile | import("./type").UploadFile[], index?: number): Promise<void>;
    handleMockProgress(files: import("./type").UploadFile[]): void;
    handleRequestMethod(files: import("./type").UploadFile[]): void;
    handleRequestMethodResponse(res: import("./type").RequestMethodResponse): boolean;
    multipleUpload(currentFiles: import("./type").UploadFile[]): void;
    onError(options: {
        event?: ProgressEvent<EventTarget>;
        file: import("./type").UploadFile;
        files: import("./type").UploadFile[];
        response?: any;
        resFormatted?: boolean;
    }): void;
    handleProgress({ event, file, files: currentFiles, percent, type, }: import("./interface").InnerProgressContext): void;
    handleSuccess({ event, file, files: currentFiles, response, }: import("./interface").SuccessContext): void;
    handlePreview({ file, event }: {
        file?: import("./type").UploadFile;
        event: ProgressEvent<EventTarget>;
    }): {
        file: import("./type").UploadFile;
        event: ProgressEvent<EventTarget>;
    };
    triggerUpload(): void;
    handleDragenter(e: DragEvent): void;
    handleDragleave(e: DragEvent): void;
    handleBeforeUpload(file: File | import("./type").UploadFile): Promise<boolean>;
    handleSizeLimit(fileSize: number): boolean;
    cancelUpload(): void;
    cancelPreviewImgDialog(): void;
    getDefaultTrigger(): JSX.Element;
    renderInput(): JSX.Element;
    renderSingleDisplay(triggerElement: import("vue/types/vnode").ScopedSlotReturnValue): JSX.Element;
    renderDraggerTrigger(): JSX.Element;
    renderTrigger(): any;
    renderCustom(triggerElement: import("vue").VNode): JSX.Element;
}, {
    isSingleRequest: boolean;
    tDisabled: boolean;
    showTips: boolean;
    showCustomDisplay: boolean;
    showSingleDisplay: boolean;
    showImgCard: boolean;
    singleDraggable: boolean;
    showUploadList: boolean;
    showImgDialog: boolean;
    showErrorMsg: boolean;
    tipsClasses: import("../common").ClassName;
    errorClasses: import("../common").ClassName;
    uploadInOneRequest: boolean;
    canBatchUpload: boolean;
    uploadListTriggerText: string;
}, {
    accept: string;
    action: string;
    allowUploadDuplicateFile: boolean;
    autoUpload: boolean;
    beforeUpload: (file: File | import("./type").UploadFile) => boolean | Promise<boolean>;
    data: Record<string, any> | ((file: File) => Record<string, any>);
    default: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    disabled: boolean;
    draggable: boolean;
    fileListDisplay: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    files: import("./type").UploadFile[];
    defaultFiles: import("./type").UploadFile[];
    format: (file: File) => import("./type").UploadFile;
    formatResponse: (response: any, context: import("./type").FormatResponseContext) => import("./type").ResponseType;
    headers: {
        [key: string]: string;
    };
    isBatchUpload: boolean;
    max: number;
    method: "option" | "get" | "post" | "POST" | "GET" | "PUT" | "OPTION" | "PATCH" | "put" | "patch";
    multiple: boolean;
    name: string;
    placeholder: string;
    requestMethod: (files: import("./type").UploadFile | import("./type").UploadFile[]) => Promise<import("./type").RequestMethodResponse>;
    showUploadProgress: boolean;
    sizeLimit: number | import("./type").SizeLimitObj;
    theme: "file" | "custom" | "image" | "file-input" | "file-flow" | "image-flow";
    tips: string;
    trigger: string | ((h: import("vue").CreateElement, props: import("./type").TriggerContext) => import("vue/types/vnode").ScopedSlotReturnValue);
    uploadAllFilesInOneRequest: boolean;
    useMockProgress: boolean;
    withCredentials: boolean;
    onCancelUpload: () => void;
    onChange: (value: import("./type").UploadFile[], context: import("./type").UploadChangeContext) => void;
    onDragenter: (context: {
        e: DragEvent;
    }) => void;
    onDragleave: (context: {
        e: DragEvent;
    }) => void;
    onFail: (options: {
        e: ProgressEvent<EventTarget>;
        file: import("./type").UploadFile;
    }) => void;
    onPreview: (options: {
        file: import("./type").UploadFile;
        e: MouseEvent;
    }) => void;
    onProgress: (options: import("./type").ProgressContext) => void;
    onRemove: (context: import("./type").UploadRemoveContext) => void;
    onSelectChange: (files: import("./type").UploadFile[]) => void;
    onSuccess: (context: import("./type").SuccessContext) => void;
}>>;
export default Upload;
