import { type ChangeEventHandler, type InputHTMLAttributes } from "react";
import { type MenuItemProps } from "./MenuItem.js";
/**
 * @since 6.0.0 Removed most of the shared `FileInputProps` from this
 * implementation.
 */
export interface MenuItemFileInputProps extends Omit<MenuItemProps, "onChange">, Pick<InputHTMLAttributes<HTMLInputElement>, "accept" | "capture" | "multiple"> {
    /**
     * A change event handler that should do something with the selected files.
     * Usually the `onChange` returned by `useFileUpload` or:
     *
     * ```ts
     * onChange={(event) => {
     *   const { files } = event.currentTarget;
     *   // do something with files
     * }}
     * ```
     *
     * This is actually a native `Event` and not a `SyntheticEvent` because the
     * file input is created through `document.createElement` instead of `React`.
     * You can still access the files through `event.currentTarget.files` like
     * normal.
     */
    onChange: ChangeEventHandler<HTMLInputElement>;
    /**
     * Set this to `true` if the `Menu` should not close when the file input's
     * menu item is clicked.
     *
     * @defaultValue `false`
     */
    preventMenuHideOnClick?: boolean;
}
/**
 * **Client Component**
 *
 * A wrapper for the `<input type="file">` element that works within menus.
 *
 * @see {@link https://react-md.dev/components/menu#menuitemfileinput-example | DropdownMenu Demos}
 * @since 5.0.0
 * @since 6.0.0 No longer creates an invisible file input element within the
 * menu item. This allows the menu to be closed immediately when this menu item
 * is clicked.
 */
export declare const MenuItemFileInput: import("react").ForwardRefExoticComponent<MenuItemFileInputProps & import("react").RefAttributes<HTMLLIElement>>;
