import { MutableRefObject, PropsWithChildren, ReactNode } from "react";
export interface FileInfo {
    id: string;
    name: string;
    symbol?: ReactNode;
    progress?: number;
    total?: number;
    comment?: string;
    type?: string;
    error?: string;
}
export interface DragAndDropProps extends PropsWithChildren {
    width?: string;
    minHeight?: string;
    handleDrop: (files: FileList) => void;
    handleClick: VoidFunction;
    disabled?: boolean;
    error?: boolean;
}
export interface UploaderItemProps extends FileInfo {
    done?: boolean;
    doneText?: string;
    error?: string;
    onItemDelete?: (name: string) => void;
}
export interface UploaderProps {
    title?: ReactNode;
    onUpload: (file: File | File[]) => void;
    onDelete: (id: string) => void;
    currentRef?: MutableRefObject<HTMLInputElement>;
    accept?: string;
    fileItems?: FileInfo[];
    additionalInfo?: string;
    width?: string;
    minHeight?: string;
    isMultiple?: boolean;
    hasBorder?: boolean;
    disabled?: boolean;
}
export interface UploaderTitleProps {
    dropText?: string;
    selectText?: string;
}
