/** Options for {@link useFileDialog}. */ export interface UseFileDialogOptions { /** MIME types or extensions to filter (matches ``). */ accept?: string; /** Allow multiple selection. Default: `false`. */ multiple?: boolean; /** Restrict to a folder picker (only supported in Chromium). */ directory?: boolean; /** Camera capture mode for mobile (`"user"` | `"environment"`). */ capture?: "user" | "environment"; /** Called after the user picks files. */ onChange?: (files: File[]) => void; } /** Return value of {@link useFileDialog}. */ export interface UseFileDialogReturn { /** Most recently picked files (empty array if reset/never opened). */ files: File[]; /** Open the native file picker. */ open: () => void; /** Clear the current selection. */ reset: () => void; } /** * Returns an `open()` trigger that pops the native file picker, plus the * selected `files`. No DOM rendered by the consumer is required — the hook * mounts a hidden `` lazily on first call. * * @param options - Configuration mirroring `` attributes. * @returns The selected files and control callbacks. */ export declare function useFileDialog(options?: UseFileDialogOptions): UseFileDialogReturn;