import { ReactNode } from "react"; import type { FolderImport } from "../../unsorted/FileUploader"; export type DropZoneProps = Readonly<({ density?: "compact"; ctaLabel?: never; allowFolders?: never; folderCtaLabel?: never; } | { density: "regular"; ctaLabel: string; allowFolders?: false; folderCtaLabel?: never; } /** * Folder mode: a second CTA opens the OS folder picker and dropped directories * are traversed. Regular density only — compact has no CTA to sit beside — and * it owns its content, so `children` is unavailable. */ | { density: "regular"; ctaLabel: string; allowFolders: true; folderCtaLabel: string; children?: never; }) & { /** * Receives the picked or dropped files. `isFolder` marks a directory import * and `folderImport` carries its folder metadata — both undefined unless * `allowFolders` is set. */ onFileChange: (files: FileList, isShiftPressed?: boolean, isFolder?: boolean, folderImport?: FolderImport) => void; onClick?: () => void; /** Side-effect hook fired right before the picker opens; does not replace it. Ignored when `onClick` is set. */ onOpenFilePicker?: () => void; multiple?: boolean; children?: ReactNode; title?: ReactNode; dropTitle?: ReactNode; className?: string; testId?: string; autoFocus?: boolean; }>; export declare const DropZone: ({ onFileChange, onClick, onOpenFilePicker, multiple, children, title, dropTitle, density, ctaLabel, allowFolders, folderCtaLabel, className, testId, autoFocus, }: DropZoneProps) => import("react").JSX.Element; //# sourceMappingURL=DropZone.d.ts.map