import "./file_drop_target.css"; import type * as React from "react"; import { type ReactNode } from "react"; import { useRender } from "@base-ui/react/use-render"; import { type FileIntakeFilter } from "./file_intake"; import { type StyleProps } from "./style_props"; export interface FileDropTargetProps extends FileIntakeFilter, StyleProps { /** Receives the dropped files. */ onFiles: (files: File[]) => void; /** Also accept a clipboard PASTE, scoped to this region's focus, so two peer * file sections each win when focus is in them rather than the last-mounted * one taking every paste. */ paste?: boolean; /** Stop accepting drops/pastes (and drop the affordance). */ disabled?: boolean; /** * The region. A plain node lets the target paint the drag affordance itself; * a FUNCTION receives the drag state and OWNS the visual (the target paints * nothing) — how `FileDropzone` keeps its own well styling. */ children: ReactNode | ((dragging: boolean) => ReactNode); testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** Makes ANY region accept a file drag-drop; `paste` ALSO takes Ctrl/Cmd+V, * scoped to this region's focus. The drag affordance is painted as a box-shadow * so nothing reflows — a FUNCTION child draws it instead. */ export declare function FileDropTarget(props: FileDropTargetProps): React.ReactElement>;