import { HTMLAttributes, ReactNode, default as React } from 'react';
import { Accept, FileRejection } from 'react-dropzone';
export interface DropzoneProps extends HTMLAttributes {
/**
* ID to find this component in testing tools (e.g.: cypress,
* testing-library, and jest).
*/
testId?: string;
/**
* A React component that will be rendered as an icon.
*/
icon?: ReactNode;
/**
* Callback function called when files are accepted.
*/
onFilesAccepted?: (files: File[]) => void;
/**
* Callback function called when files are rejected.
*/
onFilesRejected?: (fileRejections: FileRejection[]) => void;
/**
* Maximum number of files that can be selected.
*/
maxFiles?: number;
/**
* Maximum file size in bytes.
*/
maxSize?: number;
/**
* Minimum file size in bytes.
*/
minSize?: number;
/**
* Accepted file types.
*/
accept?: Accept;
/**
* Whether multiple files can be selected.
*/
multiple?: boolean;
/**
* Whether the dropzone is disabled.
*/
disabled?: boolean;
/**
* Custom text to display when dragging files over the dropzone.
*/
dragActiveText?: string;
/**
* Custom text to display in the dropzone.
*/
text?: string;
/**
* Whether to disable opening the file dialog on click.
*/
noClick?: boolean;
/**
* Whether to disable opening the file dialog via keyboard.
*/
noKeyboard?: boolean;
/**
* Whether to disable drag-and-drop on the drop zone.
*/
noDrag?: boolean;
/**
* Custom content for the select files button.
*/
selectFilesButton?: ReactNode;
/**
* Accessible label for the dropzone root element.
* When disabled, `aria-disabled` is also set so assistive tech
* can still identify the dropzone and its state.
*/
ariaLabel?: string;
}
export interface DropzoneState {
acceptedFiles: File[];
fileRejections: FileRejection[];
}
export interface DropzoneState {
acceptedFiles: File[];
fileRejections: FileRejection[];
}
declare const Dropzone: React.ForwardRefExoticComponent>;
export default Dropzone;
//# sourceMappingURL=Dropzone.d.ts.map