import type { HTMLAttributes } from "react"; /** * @remarks \@since 2.9.0 * @deprecated \@since 5.1.3 Use `DropzoneHandlers` instead. */ export declare type DropzoneHanders = DropzoneHandlers; /** @remarks \@since 5.1.3 */ export declare type DropzoneHandlers = Pick, "onDragEnter" | "onDragOver" | "onDrop" | "onDragLeave">; /** @remarks \@since 2.9.0 */ export declare type DropzoneHookReturnValue = [ boolean, DropzoneHandlers ]; /** * This hook can be used to implement simple drag-and-drop behavior for file * uploads or special styles while dragging an element over a part of a page. * * @example * Simple File * ```ts * const style: CSSProperties = { * border: '1px solid blue', * }; * * function Example(): ReactElement { * const { onDrop } = useFileUpload() * const [isOver, handlers] = useDropzone({ * onDrop: (event) => { * // normally use the `onDrop` behavior from `useFileUpload` to upload * // files: * // onDrop(event); * } * }); * * return ( *
* Drag and drop some files! * {isOver && } *
* ); * } * ``` * * @see {@link useFileUpload} for a more complex example * @param options - The {@link DropzoneHandlers} that can be merged with the * default functionality. * @returns the {@link DropzoneHookReturnValue} * @remarks \@since 2.9.0 */ export declare function useDropzone(options: DropzoneHandlers): DropzoneHookReturnValue;