import type { CompositeRendererBaseItemProps, CompositeRendererItem, CompositeRendererItemObject, CompositeRendererItemProps, CompositeRendererOptions } from "../composite/composite-renderer.tsx"; import { getCompositeRendererItem, getCompositeRendererItemId } from "../composite/composite-renderer.tsx"; import type { Props } from "../utils/types.ts"; import type { SelectStore, SelectStoreValue } from "./select-store.ts"; declare const TagName = "div"; type TagName = typeof TagName; interface ItemObject extends CompositeRendererItemObject { value?: string; } type Item = ItemObject | CompositeRendererItem; type BaseItemProps = CompositeRendererBaseItemProps; type ItemProps = CompositeRendererItemProps; export declare const SelectRenderer: (props: SelectRendererProps) => import("react").ReactElement>; export { getCompositeRendererItem as getSelectRendererItem, getCompositeRendererItemId as getSelectRendererItemId, }; export type SelectRendererItemObject = ItemObject; export type SelectRendererItem = Item; export type SelectRendererBaseItemProps = BaseItemProps; export type SelectRendererItemProps = ItemProps; export interface SelectRendererOptions extends Omit, "store"> { /** * Object returned by the * [`useSelectStore`](https://ariakit.com/reference/use-select-store) hook. If * not provided, the closest [Select](https://ariakit.com/components/select) * component's context will be used. * * The store [`items`](https://ariakit.com/reference/use-select-store#items) * state will be used to render the items if the * [`items`](https://ariakit.com/reference/select-items#items) prop is not * provided. */ store?: SelectStore; /** * The current value of the select. This will ensure the item with the given * value is rendered even if it's not in the viewport, so it can be * automatically focused when the select popover is opened. If not provided, * the value will be read from the store. */ value?: SelectStoreValue; } export interface SelectRendererProps extends Props> { }