import { AddNewItemProps } from '../types/addNewItemTypes';
/**
 * Props for the AddNewItemButton component.
 *
 * @property {string} searchText - The current search text, forwarded to the consumer's handler and label callback.
 * @property {() => void} [onCloseMenu] - Internal hook for the host menu to close itself when the button is clicked. Fires before the consumer's handler.
 * @extends AddNewItemProps
 */
export type AddNewItemButtonProps = AddNewItemProps & {
    /** The current search text, forwarded to the consumer's handler and label callback. */
    searchText: string;
    /** Internal hook for the host menu to close itself when the button is clicked. */
    onCloseMenu?: () => void;
};
/**
 * AddNewItemButton renders the consumer's "Add new item" affordance for the
 * Select* / MultiSelect* components. Positioning, padding, background tint,
 * and the visual separator from the option list are owned by the surrounding
 * popover/dialog footer slot — this component is only responsible for the
 * button itself.
 *
 * Features:
 * - Renders nothing when no `onAddNewItem` handler is provided
 * - Renders nothing when `addItemLabel` is a function that returns `null`/`undefined`
 * - Static or dynamic label resolved against the current search text
 * - Closes the host menu via `onCloseMenu` when clicked, before invoking the consumer's handler
 *
 * @example
 * <AddNewItemButton
 *   searchText={searchText}
 *   addItemLabel={(s) => `Add "${s}"`}
 *   onAddNewItem={(text) => openAddDialog(text)}
 *   onCloseMenu={closeMenu}
 * />
 *
 * @returns The button, or null when the feature is not enabled / label is hidden.
 */
export declare const AddNewItemButton: {
    ({ searchText, addItemLabel, onAddNewItem, onCloseMenu, }: AddNewItemButtonProps): import("react/jsx-runtime").JSX.Element | null;
    displayName: string;
};
