import { HTMLAttributes, ReactNode, SyntheticEvent } from "react"; import { FilesValidator } from "./validators"; import "./FileDropZone.css"; export declare type FilesAcceptedEventHandler = (files: ReadonlyArray, event: SyntheticEvent) => void; export declare type FilesRejectedEventHandler = (errors: ReadonlyArray, event: SyntheticEvent) => void; /** * Removed deprecated props * * - onDrop * - onFileTypeError * - showUploadButton */ export interface FileDropZoneProps extends HTMLAttributes { /** * `accept` attribute for HTML . * * A comma separated list of file types the user can pick from the file input dialog box. */ accept?: string; /** * The text content of the drop area component. */ children?: ReactNode; /** * Additional usage information. */ description?: string; /** * If `true`, the file drop zone will be disabled. */ disabled?: boolean; /** * This prop is used to help implement the accessibility logic. * If you don't provide this prop. It falls back to a randomly generated id. */ id?: string; /** * Callback on successful file drop or selection. */ onFilesAccepted?: FilesAcceptedEventHandler; /** * @see `validate` prop * Callback on drop or input in case of an error. A list of errors will be provided as input. */ onFilesRejected?: FilesRejectedEventHandler; /** * A list of custom validation functions. Every function is provided with the entire file list as input * thus can perform validations on all files. Each function needs to return one or more errors in case of * a failed validation, or `undefined` in case of a successful one. * * All errors are collected in the end and returned as an array to `onFilesRejected`. */ validate?: ReadonlyArray>; } export declare const FileDropZone: import("react").ForwardRefExoticComponent>;