export type FilesUploadResult = { valid: File[]; invalid: File[]; }; export type DragEvent = React.DragEvent; export type FileType = `${string}/${string}`; export interface UseDropZoneProps { allowedFileTypes?: FileType[]; onChange?: (result: FilesUploadResult) => void; } interface UseDropZoneReturn { completed: boolean; error: boolean; dragging: boolean; getDropZoneProps: () => { onDragLeave: (event: DragEvent) => void; onDragEnter: (event: DragEvent) => void; onDrop: (event: DragEvent) => void; onDragOver: (event: DragEvent) => void; validateFiles: (files: File[]) => FilesUploadResult; error: boolean; dragging: boolean; }; } declare const useDropZone: (props?: UseDropZoneProps) => UseDropZoneReturn; export default useDropZone;