/** Star sizes: 12, 14, 18 and 24 px glyphs. */ export type RatingSize = "xs" | "sm" | "md" | "lg"; /** Star rating: read-only display by default, a keyboard-operable radio group when `onValueChange` is set. */ export interface RatingProps { /** Rating from 0 to `max`, rounded to one decimal; fractions fill a star partially and 5.0 fills all five. Controls the selection in interactive mode. */ value?: number; /** Initial selection for an interactive rating that is not controlled with `value`. */ defaultValue?: number; /** Number of stars. */ max?: number; /** Star glyph size; defaults to "sm". */ size?: RatingSize; /** Shows the numeric value ("4.6") after the stars. */ showValue?: boolean; /** Number of ratings, shown in brackets after the value and read out in the accessible name. */ count?: number; /** Abbreviates the visible count ("1.3K"); the accessible name always carries the full figure. */ compactCount?: boolean; /** Locale for number formatting; defaults to en-IN. */ locale?: string; /** Makes the rating interactive (radio group, arrow keys) and fires with the chosen whole-star value. */ onValueChange?: (value: number) => void; /** Interactive mode only: stops selection and removes the stars from the tab order. */ isDisabled?: boolean; /** Overrides the accessible name; the group name in interactive mode, the "Rated 4.6 out of 5" text otherwise. */ "aria-label"?: string; /** Test id on the outermost element, in both read-only and interactive modes. */ "data-testid"?: string; }