/// <reference types="react" />
import { RcFile, UploadProps } from 'antd/lib/upload/interface';
import { YUploadFile, File } from '../common/interface';
import { CropperModalRefParams } from '../cropperModal/interface';
import { UploadType, CheckProps, OSSProps, MethodProps, CropperProps, RequestProps, ChangeType } from '../upload.interface';
export interface UploadButtonRefParams {
    uploadingStatus: number;
    customRequest: (file: RcFile) => Promise<void>;
    cutResult: () => void;
}
export interface UploadButtonProps extends CheckProps, OSSProps, MethodProps, CropperProps, RequestProps {
    name: string;
    quantity: number;
    securityType: 'public' | 'private';
    fileListRef: React.MutableRefObject<YUploadFile[]>;
    uploadType: UploadType;
    disabled?: boolean;
    errMessage?: React.ReactNode | string | false;
    fileList: YUploadFile[];
    originalProps?: UploadProps;
    buttonText?: string | React.ReactNode;
    cropperModalRef: React.MutableRefObject<CropperModalRefParams | undefined>;
    getRef: (params: UploadButtonRefParams) => void;
    setFileList: (fileList: YUploadFile[], changeFileList?: YUploadFile[], type?: ChangeType) => void;
}
export interface OriginalFileProps extends File {
    fileType: string;
}
export interface OSSDataParams {
    accessId: string;
    dir: string;
    expire?: string;
    host: string;
    policy: string;
    signature: string;
}
export interface WaitFileListProps {
    status: number;
    list: RcFile[];
}
//# sourceMappingURL=interface.d.ts.map