export type FileUploadProgressStatus = 'uploading' | 'complete' | 'error';
export interface FileUploadProgressItem {
    id: string;
    file: File;
    progress: number;
    status: FileUploadProgressStatus;
    error?: string;
}
export interface FileUploadProgressThemeOverrides {
    containerStyle?: string;
    itemStyle?: string;
    iconContainerStyle?: string;
    iconStyle?: string;
    fileInfoStyle?: string;
    fileNameStyle?: string;
    fileSizeStyle?: string;
    radialTrackColor?: string;
    radialProgressColors?: Partial<Record<FileUploadProgressStatus, string>>;
    radialCenterTextStyle?: string;
    statusIconColors?: Partial<Record<FileUploadProgressStatus, string>>;
    errorTextStyle?: string;
}
export interface FileUploadProgressProps extends React.HTMLAttributes<HTMLDivElement> {
    items: FileUploadProgressItem[];
    onRemove?: (id: string) => void;
    onRetry?: (id: string) => void;
    showFileSize?: boolean;
    confirmRemove?: boolean;
    /** Delay in ms before the completion tick transitions to the remove button. Default: 1500 */
    completionDelay?: number;
    className?: string;
    theme?: FileUploadProgressThemeOverrides;
}
