import { default as React } from 'react';
import { DeepPartial } from '../../types';
import { DropzoneTheme } from './theme';
export interface ImportErrorState {
    type: "fileType" | "upload" | "network" | null;
    message: string | null;
}
export interface DropzoneProps {
    onDragStateChange?: (isDragActive: boolean) => void;
    onDrag?: () => void;
    onDragIn?: () => void;
    onDragOut?: () => void;
    onDrop?: (e: DragEvent) => void;
    onFilesDrop?: (files: File[]) => void;
    multiple?: boolean;
    accept?: string;
    disabled?: boolean;
    className?: string;
    disabledClassName?: string;
    activeClassName?: string;
    title?: string;
    theme?: DeepPartial<DropzoneTheme>;
    error?: ImportErrorState | null;
    setError?: (error: ImportErrorState | null) => void;
}
/**
 * Dropzone component
 * @description The Dropzone component is used to create a drag and drop area for files, where the user can drop files to upload them.
 * @returns React.FC<DropzoneProps>
 */
export declare const Dropzone: React.MemoExoticComponent<(props: React.PropsWithChildren<DropzoneProps>) => import("react/jsx-runtime").JSX.Element>;
//# sourceMappingURL=Dropzone.d.ts.map