/** * The component for selecting a single file or multiple files for upload by dialog or drag and drop. * * ## Event Handling * - `onChange`: Called when user selects files through dialog or drag-and-drop * - `onClear`: Called when user clicks the clear button (user-initiated only) * - `onValueCleared`: Called when controlled value transitions from non-empty to empty (external changes only) * * ## Controlled vs Uncontrolled * - Controlled: Provide `value` prop to control file names externally * - Uncontrolled: Use `defaultValue` for initial state, component manages internal state * * ## Enhanced Features * - **Explicit clear button**: Provides discoverable way to clear files * - **Controlled/uncontrolled modes**: Proper state management for both patterns * - **Provide 'onClear' (user-initiated only)**: Clear the file selection * - **Provide 'onValueCleared' (external changes only)**: Called when controlled value transitions from non-empty to empty * - **Drag and drop support**: Visual feedback and enhanced file selection UX * * ## Internationalization * This component supports internationalization through text override props following the MFUI Component Internationalization Strategy. * All text props are optional with Japanese defaults for backward compatibility. * * @see {@link https://github.com/moneyforward/mfui/blob/main/docs/ADRs/2025-12-05-component-internationalization-strategy.md | Component Internationalization Strategy ADR} * * Also extends the props of `` element * * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file */ export declare const FileDropZone: import("react").ForwardRefExoticComponent<{ invalid?: import("../../styled-system/recipes").TextBoxSlotRecipeVariant["invalid"]; disabled?: boolean; multiple?: import("react").ComponentPropsWithoutRef<"input">["multiple"]; accept?: import("react").ComponentPropsWithoutRef<"input">["accept"]; clearButtonProps?: Pick; errorMessage?: string; helperMessage?: string; illustrationUrl?: string; extraElement?: React.ReactNode; value?: string[] | undefined; defaultValue?: string[] | undefined; onChange?: React.ChangeEventHandler; onClear?: () => void; onValueCleared?: () => void; fileBoxWidth?: number; fileSelectButtonLabel?: string; instructionText?: string; fileCountLabel?: (count: number) => string; screenReaderTexts?: { single?: (filename: string) => string; multiple?: (count: number) => string; }; } & Omit, HTMLInputElement>, "ref"> & import("react").RefAttributes>;