import type { JSX } from "@solidjs/web"; /** * Value-to-label resolution for ``. Mirrors Base UI React's * `packages/react/src/internals/resolveValueLabel.ts` — trimmed to the * subset the Solid port wires: * * - `stringifyAsValue(value, itemToStringValue)` → string form for form * submission + hidden-input `value`. * - `stringifyAsLabel(value, itemToStringLabel)` → string form for * trigger display text. * - `resolveSelectedLabel` / `resolveMultipleLabels` — select display * resolution with optional `items` registry support. * - `hasNullItemLabel` — detects `null` entries in the items registry. */ /** Group shape accepted in the `items` prop. */ export interface Group { items: Record | ReadonlyArray<{ label: JSX.Element; value: Value; }>; label?: JSX.Element; } export type ItemsInput = Record | ReadonlyArray<{ label: JSX.Element; value: Value; }> | ReadonlyArray> | undefined; export declare function stringifyAsValue(value: unknown, itemToStringValue?: ((value: unknown) => string) | undefined): string; export declare function stringifyAsLabel(value: unknown, itemToStringLabel?: ((value: unknown) => string) | undefined): string; export declare function resolveSelectedLabel(value: Value, items: ItemsInput, itemToStringLabel?: ((value: Value) => string) | undefined): JSX.Element; export declare function resolveMultipleLabels(values: ReadonlyArray, items: ItemsInput, itemToStringLabel?: ((value: Value) => string) | undefined): JSX.Element; export declare function hasNullItemLabel(items: ItemsInput): boolean; //# sourceMappingURL=resolve-value-label.d.ts.map