import { n as CompositeHoverOptions } from "../composite-hover-Bkdtn8T1.js";
import { n as CompositeItemOptions } from "../composite-item-HW-_P3KK.js";
import { t as SelectStore } from "../select-store-C8tHSVWh.js";
import { Props } from "@ariakit/react-utils";
import { ElementType, MouseEvent } from "react";
import { BooleanOrCallback } from "@ariakit/utils";
//#region src/select/select-item.d.ts
declare const TagName = "div";
type TagName = typeof TagName;
/**
 * Returns props to create a `SelectItem` component.
 * @deprecated Use `useComboboxItem` instead.
 * @see https://ariakit.com/components/select
 * @example
 * ```jsx
 * const store = useSelectStore();
 * const props = useSelectItem({ store, value: "Apple" });
 * <Role {...props} />
 * ```
 */
declare const useSelectItem: import("@ariakit/react-utils").Hook<"div", SelectItemOptions<"div">>;
/**
 * Renders a select item inside a
 * [`SelectList`](https://ariakit.com/reference/select-list) or
 * [`SelectPopover`](https://ariakit.com/reference/select-popover).
 *
 * The `role` attribute will be automatically set on the item based on the
 * list's own `role` attribute. For example, if the
 * [`SelectPopover`](https://ariakit.com/reference/select-popover) component's
 * `role` attribute is set to `listbox` (which is the default), the item `role`
 * will be set to `option`.
 *
 * By default, the [`value`](https://ariakit.com/reference/select-item#value)
 * prop will be rendered as the children, but this can be overriden if a custom
 * children is provided.
 * @deprecated Use
 * [`ComboboxItem`](https://ariakit.com/reference/combobox-item) instead.
 * @see https://ariakit.com/components/select
 * @example
 * ```jsx {4-5}
 * <SelectProvider>
 *   <Select />
 *   <SelectPopover>
 *     <SelectItem value="Apple" />
 *     <SelectItem value="Orange" />
 *   </SelectPopover>
 * </SelectProvider>
 * ```
 */
declare const SelectItem: (props: SelectItemProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
/** @deprecated Use `ComboboxItemOptions` instead. */
interface SelectItemOptions<T extends ElementType = TagName> extends CompositeItemOptions<T>, CompositeHoverOptions<T> {
  /**
   * Object returned by the
   * [`useSelectStore`](https://ariakit.com/reference/use-select-store) hook. If
   * not provided, the parent
   * [`SelectList`](https://ariakit.com/reference/select-list) or
   * [`SelectPopover`](https://ariakit.com/reference/select-popover) components'
   * context will be used.
   */
  store?: SelectStore;
  /**
   * The value of the item. This will be rendered as the children by default.
   * - If
   *   [`setValueOnClick`](https://ariakit.com/reference/select-item#setvalueonclick)
   *   is set to `true`, the
   *   [`value`](https://ariakit.com/reference/select-provider#value) state will
   *   be set to this value when the user clicks on it.
   * - If
   *   [`setValueOnMove`](https://ariakit.com/reference/select-provider#setvalueonmove)
   *   is set to `true`, the
   *   [`value`](https://ariakit.com/reference/select-provider#value) state will
   *   be set to this value when the user moves to it (which is usually the case
   *   when moving through the items using the keyboard).
   * @example
   * ```jsx
   * <SelectItem value="Apple" />
   * ```
   */
  value?: string;
  /**
   * Whether to hide the select when this item is clicked. By default, it's
   * `true` when the [`value`](https://ariakit.com/reference/select-item#value)
   * prop is also provided.
   */
  hideOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;
  /**
   * Whether to set the select value with this item's value, if any, when this
   * item is clicked. By default, it's `true` when the
   * [`value`](https://ariakit.com/reference/select-item#value) prop is also
   * provided.
   */
  setValueOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;
}
/** @deprecated Use `ComboboxItemProps` instead. */
type SelectItemProps<T extends ElementType = TagName> = Props<T, SelectItemOptions<T>>;
//#endregion
export { SelectItem, SelectItemOptions, SelectItemProps, useSelectItem };
//# sourceMappingURL=select-item.d.ts.map