import type { PickRequired, ToPrimitive } from "@ariakit/core/utils/types"; import type { ReactNode } from "react"; import type { SelectStore, SelectStoreValue } from "./select-store.ts"; type Value = SelectStoreValue; /** * Renders the current * [`value`](https://ariakit.com/reference/use-select-store#value) state in the * [select store](https://ariakit.com/reference/use-select-store). * * As a value component, it doesn't render any DOM elements and therefore * doesn't accept HTML props. It can optionally accept a * [`fallback`](https://ariakit.com/reference/select-value#fallback) prop to use * as a default value if the store's * [`value`](https://ariakit.com/reference/use-select-store#value) is * `undefined`. * * Additionally, it takes a * [`children`](https://ariakit.com/reference/select-value#children) function * that gets called with the current value as an argument. This is handy for * rendering the value in a custom way. * @see https://ariakit.com/components/select * @example * ```jsx {3} * * * * * * * * * ``` * @example * ```jsx {1-3,7} * function renderValue(value) { * // render custom JSX * } * * * * * * * * * * ``` */ export declare function SelectValue(props: PickRequired, "fallback">): T; export declare function SelectValue(props?: SelectValueProps): Value; export interface SelectValueProps { /** * 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 to use as a default if the store's * [`value`](https://ariakit.com/reference/use-select-store#value) is * `undefined`. * @default "" */ fallback?: T; /** * A function that gets called with the current value as an argument. This is * handy for rendering the value in a custom way. */ children?: (value: ToPrimitive) => ReactNode; } export {};