import { ComponentType } from 'react'; /** Props forwarded to a custom rating icon (e.g. `@hhgtech/icons`). */ export type TRatingStarIconProps = { size?: number | string; color?: string; isSolid?: boolean; [key: string]: unknown; }; export type TRatingStarIcon = ComponentType; type TRatingStarVisualProps = { /** Replace the default star with a custom icon (e.g. `Star` from `@hhgtech/icons/other`). */ icon?: TRatingStarIcon; /** Extra props always forwarded to the custom icon. `isSolid`, `size`, and `color` are managed. */ iconProps?: Omit; /** Color used when the star is filled. */ filledColor?: string; /** Color used when the star is empty. */ emptyColor?: string; }; export type TRatingStarsInputProps = { value: number; max?: number; onChange?: (value: number) => void; readOnly?: boolean; name?: string; id?: string; label?: string | React.ReactNode; error?: string; size?: number; gap?: number; hideEmptyStars?: boolean; hideFeedback?: boolean; } & TRatingStarVisualProps; export type TRatingStarsProps = { value: number; max?: number; onChange?: (value: number) => void; readOnly?: boolean; size?: number; gap?: number; hideEmptyStars?: boolean; } & TRatingStarVisualProps; export type TStarProps = { filled: boolean; size?: number; onClick?: () => void; onMouseEnter?: () => void; onMouseLeave?: () => void; } & TRatingStarVisualProps; export {};