import { FileItemProps } from "../../molecules/FileItem/index.js";
import "./FileUploadDialog.css";
export type FileUploadDialogProps = {
    open: boolean;
    onClose: () => void;
    accept?: string;
    multiple?: boolean;
    /** Called immediately when files are added (before upload starts) */
    onAdd: (files: File[]) => void;
    /** Files to display in the list */
    files: (FileItemProps & {
        id?: string;
    })[];
    /** Called when the Apply button is clicked. Defaults to onClose if not provided. */
    onApply?: () => void;
    /** Called when the Cancel button is clicked. Defaults to onClose if not provided. */
    onCancel?: () => void;
    title?: string;
    dropZoneLabel?: string;
    dropZoneHint?: string;
    applyButtonText?: string;
    cancelButtonText?: string;
    disabled?: boolean;
};
/**
 * FileUploadDialog presents a drag-and-drop zone and a list of queued files.
 * It is a pure UI component — upload logic is wired externally via `useFileUploadStore`.
 */
export declare const FileUploadDialog: ({ open, onClose, accept, multiple, onAdd, files, onApply, onCancel, title, dropZoneLabel, dropZoneHint, applyButtonText, cancelButtonText, disabled, }: FileUploadDialogProps) => import("react/jsx-runtime").JSX.Element;
