import { type ReactNode } from 'react';
type DropHandler = (files: File[]) => void | Promise<void>;
interface UploadDropZoneProps {
    children: ReactNode;
    onDrop?: DropHandler;
    /**
     * When true, the zone never enters the dragging state and never fires
     * `onDrop` — no overlay, no "drop here" invitation. Used to hide the whole
     * upload affordance from users without `assets.create`, so they don't drag a
     * file onto an inviting target that then silently discards it.
     */
    disabled?: boolean;
}
export declare const UploadDropZoneProvider: ({ children, onDrop, disabled, }: UploadDropZoneProps) => import("react/jsx-runtime").JSX.Element;
export declare const useUploadDropZone: () => {
    isDragging: boolean;
};
export {};
