import PropTypes from "prop-types"; import React, { PureComponent } from "react"; import { FileObject } from "../types"; import { DropzoneAreaBaseProps } from "./DropzoneAreaBase"; export declare type DropzoneAreaProps = Omit & { /** Clear uploaded files when component is unmounted. */ clearOnUnmount?: boolean; /** List containing File objects or URL strings. * * **Note:** Please take care of CORS. */ initialFiles?: (File | string)[]; /** * Fired when the files inside dropzone change. * * @param {File[]} loadedFiles All the files currently loaded into the dropzone. */ onChange?: (loadedFiles: File[]) => void; /** * Fired when a file is deleted from the previews panel. * * @param {File} deletedFile The file that was removed. */ onDelete?: (deletedFile: File) => void; }; declare type DropzoneAreaState = { fileObjects: FileObject[]; }; /** * This components creates an uncontrolled Material-UI Dropzone, with previews and snackbar notifications. * * It supports all props of `DropzoneAreaBase` but keeps the files state internally. * * **Note** To listen to file changes use `onChange` event handler and notice that `onDelete` returns a `File` instance instead of `FileObject`. */ declare class DropzoneArea extends PureComponent { static propTypes: { clearOnUnmount: PropTypes.Requireable; initialFiles: PropTypes.Requireable; filesLimit: PropTypes.Requireable; onChange: PropTypes.Requireable<(...args: any[]) => any>; onDelete: PropTypes.Requireable<(...args: any[]) => any>; classes?: React.Validator | null | undefined> | undefined; onDrop?: React.Validator<((droppedFiles: File[], event: import("react-dropzone").DropEvent) => void) | null | undefined> | undefined; fileObjects?: React.Validator | undefined; showFileNames?: React.Validator | undefined; useChipsForPreview?: React.Validator | undefined; previewChipProps?: React.Validator | null | undefined> | undefined; previewGridClasses?: React.Validator<{ container?: string | undefined; item?: string | undefined; image?: string | undefined; } | null | undefined> | undefined; previewGridProps?: React.Validator<{ container?: import("@mui/material").GridProps<"div", {}> | undefined; item?: import("@mui/material").GridProps<"div", {}> | undefined; } | null | undefined> | undefined; getPreviewIcon?: React.Validator<((fileObject: FileObject, classes: { image?: string | undefined; imageContainer?: string | undefined; removeButton?: string | undefined; root?: string | undefined; } | undefined) => JSX.Element) | null | undefined> | undefined; getFileLimitExceedMessage?: React.Validator<((filesLimit: number) => string) | null | undefined> | undefined; getFileAddedMessage?: React.Validator<((fileName: string) => string) | null | undefined> | undefined; getFileRemovedMessage?: React.Validator<((fileName: string) => string) | null | undefined> | undefined; getDropRejectMessage?: React.Validator<((rejectedFile: File, acceptedFiles: string[], maxFileSize: number) => string) | null | undefined> | undefined; onAlert?: React.Validator<((message: string, variant: import("../types").AlertType) => void) | null | undefined> | undefined; acceptedFiles?: React.Validator | undefined; Icon?: React.Validator<(import("@mui/material/OverridableComponent").OverridableComponent> & { muiName: string; }) | null | undefined> | undefined; maxFileSize?: React.Validator | undefined; dropzoneText?: React.Validator | undefined; previewText?: React.Validator | undefined; showPreviews?: React.Validator | undefined; showPreviewsInDropzone?: React.Validator | undefined; showFileNamesInPreview?: React.Validator | undefined; showAlerts?: React.Validator | undefined; alertSnackbarProps?: React.Validator | undefined; dropzoneProps?: React.Validator | undefined; inputProps?: React.Validator | null | undefined> | undefined; dropzoneClass?: React.Validator | undefined; dropzoneParagraphClass?: React.Validator | undefined; disableRejectionFeedback?: React.Validator | undefined; onAdd?: React.Validator<((newFiles: FileObject[]) => void) | null | undefined> | undefined; onDropRejected?: React.Validator<((rejectedFiles: File[], event: import("react-dropzone").DropEvent) => void) | null | undefined> | undefined; ref?: React.Validator | undefined> | undefined; key?: React.Validator | undefined; }; static defaultProps: { clearOnUnmount: boolean; filesLimit: number; initialFiles: (string | File)[]; }; state: DropzoneAreaState; componentDidMount(): void; componentWillUnmount(): void; notifyFileChange: () => void; loadInitialFiles: () => Promise; addFiles: DropzoneAreaBaseProps["onAdd"]; deleteFile: DropzoneAreaBaseProps["onDelete"]; render(): JSX.Element; } export default DropzoneArea; //# sourceMappingURL=DropzoneArea.d.ts.map