import * as React from 'react';
import { II18nLocaleUpload } from '../i18n';
import AbstractUpload from './components/AbstractUpload';
import { ISingleUploadItemProps, ISingleUploadProps, IUploadChangeDetail, IUploadFileItem } from './types';
interface ISingleUploadState {
    value: IUploadFileItem | null;
}
export declare class SingleUpload extends AbstractUpload<IUploadFileItem, void, ISingleUploadItemProps, ISingleUploadProps, ISingleUploadState> {
    state: ISingleUploadState;
    get isControlled(): boolean;
    get value(): IUploadFileItem;
    onChange: (item: IUploadFileItem | null, detail?: IUploadChangeDetail<IUploadFileItem>, cb?: () => void) => void;
    getUploadItem(id: string): IUploadFileItem | null;
    updateUploadItem: (updateItemId: string, overrideProps: Partial<IUploadFileItem>) => void;
    createNewUploadFileItem(file: File): IUploadFileItem;
    deleteUploadItem: (deleteItem: IUploadFileItem) => void;
    retryUploadItem: (retryItem: IUploadFileItem) => void;
    onTriggerUploadFile: (file: File) => Promise<void>;
    protected renderTips(): JSX.Element;
    protected renderTrigger(i18n: II18nLocaleUpload): React.ReactNode;
    renderItem(i18n: II18nLocaleUpload): React.ReactNode;
    render(): JSX.Element;
}
export default SingleUpload;
