import { ComponentPropsWithoutRef, ReactNode } from 'react'; import { UseComboboxReturnValue as UseDownshiftComboboxReturnValue } from 'downshift'; import { FlexProps } from '../Flex'; /** * Shared props for combobox item components */ type ComboboxItemSharedProps = ComponentPropsWithoutRef<"li" | "div"> & { children?: ReactNode; disabled?: boolean; alignItems?: FlexProps["alignItems"]; justifyItems?: FlexProps["justifyItems"]; alignContent?: FlexProps["alignContent"]; justifyContent?: FlexProps["justifyContent"]; placeItems?: FlexProps["placeItems"]; placeContent?: FlexProps["placeContent"]; gap?: FlexProps["gap"]; rowGap?: FlexProps["rowGap"]; columnGap?: FlexProps["columnGap"]; }; /** * Props for the ComboboxItem component * @template Item - The type of items in the combobox */ export type ComboboxItemProps = ComboboxItemSharedProps & { /** The item to render */ item: Item; /** The index of the item in the list */ index: number; hideCheckbox?: boolean; forceCloseOnSelect?: boolean; forceClearInputValueOnSelect?: boolean; }; /** * Props for the ComboboxItemAddNew component * @template Item - The type of items in the combobox */ export type ComboboxItemAddNewProps = ComboboxItemSharedProps & { /** Callback when the "Add New" item is selected */ onSelection?: (inputValue: UseDownshiftComboboxReturnValue["inputValue"]) => void; }; /** * ComboboxItem component for rendering individual items in a combobox list * * Features: * - Supports both single and multiple selection modes * - Handles disabled state for individual items * - Provides checkbox UI for multiple selection * - Supports custom layout with Flex props * - Integrates with combobox state management * * @template Item - The type of items in the combobox * @param props - The component props * @returns A rendered combobox item * * @example * * {user.name} * {user.email} * */ export declare const ComboboxItem: (props: ComboboxItemProps) => import("react/jsx-runtime").JSX.Element; /** * ComboboxItemAddNew component for rendering an "Add New" option in a combobox * * Features: * - Allows users to add new items that don't exist in the list * - Integrates with combobox state management * - Supports custom layout with Flex props * - Handles selection callback for new item creation * * @template Item - The type of items in the combobox * @param props - The component props * @returns A rendered "Add New" item or null * * @example * createNewItem(value)}> * Add "{inputValue}" as new item * */ export declare const ComboboxItemAddNew: (props: ComboboxItemAddNewProps) => import("react/jsx-runtime").JSX.Element; export {};