import * as React from 'react'; interface RatingProps extends Omit, 'onChange'> { value?: number; onChange?: (value: number) => void; max?: number; /** Prevents interaction but keeps visible. Does not grey-out (use `disabled` for that). */ readonly?: boolean; /** Disables interaction and applies opacity-50 styling. */ disabled?: boolean; size?: 'sm' | 'md' | 'lg'; showValue?: boolean; /** Enables half-star precision (0.5 increments). */ allowHalf?: boolean; /** Custom aria-label generator. Receives the star value and max. */ getAriaLabel?: (value: number, max: number) => string; } /** * Star-based rating input or display. * * @description * Allows users to rate items by clicking stars, or displays existing ratings * in read-only mode. Supports custom max stars, sizes (sm/md/lg), half-star * precision, and value display. * * @ai-rules * 1. Use `readonly={true}` to display an existing rating without allowing interaction. * 2. Use `disabled={true}` to show a greyed-out, non-interactive rating. * 3. Use `allowHalf={true}` for 0.5-step precision ratings. * 4. Use `onChange` to capture the selected rating value in form state. */ declare const Rating: React.ForwardRefExoticComponent>; export { Rating }; export type { RatingProps };