import { ChangeEventHandler, MouseEvent, ClipboardEventHandler } from 'react';
import { TdUploadProps, UploadFile, UploadRemoveContext } from '../type';
/**
 * 上传组件全部逻辑，方便脱离 UI，自定义 UI 组件
 */
export default function useUpload(props: TdUploadProps): {
    t: Function;
    locale: import("../..").UploadConfig;
    classPrefix: string;
    triggerUploadText: any;
    toUploadFiles: UploadFile[];
    uploadValue: UploadFile[];
    displayFiles: UploadFile[];
    sizeOverLimitMessage: string;
    uploading: boolean;
    tipsClasses: string;
    errorClasses: string[];
    placeholderClass: string;
    inputRef: import("react").MutableRefObject<HTMLInputElement>;
    disabled: boolean;
    xhrReq: import("react").MutableRefObject<{
        files: UploadFile[];
        xhrReq: XMLHttpRequest;
    }[]>;
    uploadFilePercent: (params: {
        file: UploadFile;
        percent: number;
    }) => void;
    uploadFiles: (toFiles?: UploadFile[]) => void;
    onFileChange: (files: File[]) => void;
    onNormalFileChange: ChangeEventHandler<HTMLInputElement>;
    onDragFileChange: (files: File[]) => void;
    onPasteFileChange: ClipboardEventHandler<HTMLDivElement>;
    onRemove: (p: UploadRemoveContext) => void;
    triggerUpload: () => void;
    cancelUpload: (context?: {
        file?: UploadFile;
        e?: MouseEvent<HTMLElement>;
    }) => void;
};
