///
import { HttpRequestHeader, RcCustomRequestOptions, RcFile, ShowUploadListInterface, UploadChangeParam } from 'antd/lib/upload/interface';
import { Addon } from '../../aop';
import { ReactControl } from '../../react/base';
import { ValueEditor } from '../../react/editor';
declare type PreviewFileHandler = (file: File | Blob) => PromiseLike;
declare type TransformFileHandler = (file: RcFile) => string | Blob | File | PromiseLike;
export declare const UploadType: {
drag: string;
select: string;
};
export declare const UploadListType: {
text: string;
picture: string;
'picture-card': string;
};
export declare const UploadMethod: {
POST: string;
PUT: string;
};
export declare const UploadFileStatus: {
error: string;
success: string;
done: string;
uploading: string;
removed: string;
};
export declare class UploadFile extends Addon {
uid?: string;
name?: string;
fileName?: string;
url?: string;
status?: keyof typeof UploadFileStatus;
thumbUrl?: string;
preview?: string;
}
export declare class Uploader extends ValueEditor {
type?: keyof typeof UploadType;
name?: string;
action?: string | ((file: RcFile) => string) | ((file: RcFile) => PromiseLike);
directory?: boolean;
method?: keyof typeof UploadMethod;
showUploadList?: boolean | ShowUploadListInterface;
multiple?: boolean;
showRemoveIcon?: boolean;
showPreviewIcon?: boolean;
showDownloadIcon?: boolean;
accept?: string;
listType?: keyof typeof UploadListType;
disabled?: boolean;
withCredentials?: boolean;
openFileDialogOnClick?: boolean;
headers?: HttpRequestHeader;
data?: object | ((file: UploadFile) => object);
children?: ReactControl;
defaultFileList?: Array;
value?: Array;
previewFile?: PreviewFileHandler;
transformFile?: TransformFileHandler;
beforeUpload?: (file: RcFile, FileList: RcFile[]) => boolean | PromiseLike;
onChange?: (info: UploadChangeParam) => void;
onPreview?: (file: UploadFile) => void;
onDownload?: (file: UploadFile) => void;
onRemove?: (file: UploadFile) => void | boolean | Promise;
customRequest?: (options: RcCustomRequestOptions) => void;
onRender?: (() => JSX.Element) | undefined;
}
export declare const UploaderControl: any;
export {};