import React, { Component, type KeyboardEvent, type MouseEvent } from 'react'; import PropTypes from 'prop-types'; import { type ClassPropsWithDefault } from '../util'; import type { RatingProps, RatingState } from './types'; declare class Rating extends Component { static propTypes: { prefix: PropTypes.Requireable; defaultValue: PropTypes.Requireable; value: PropTypes.Requireable; count: PropTypes.Requireable; showGrade: PropTypes.Requireable; size: PropTypes.Requireable; allowHalf: PropTypes.Requireable; allowClear: PropTypes.Requireable; onChange: PropTypes.Requireable<(...args: any[]) => any>; onHoverChange: PropTypes.Requireable<(...args: any[]) => any>; disabled: PropTypes.Requireable; readAs: PropTypes.Requireable<(...args: any[]) => any>; iconType: PropTypes.Requireable; strokeMode: PropTypes.Requireable; className: PropTypes.Requireable; id: PropTypes.Requireable; rtl: PropTypes.Requireable; locale: PropTypes.Requireable; isPreview: PropTypes.Requireable; renderPreview: PropTypes.Requireable<(...args: any[]) => any>; readOnly: PropTypes.Requireable; defaultPropsConfig: PropTypes.Requireable; errorBoundary: PropTypes.Requireable>; pure: PropTypes.Requireable; warning: PropTypes.Requireable; device: PropTypes.Requireable; children: PropTypes.Requireable; popupContainer: PropTypes.Requireable; }; static defaultProps: { prefix: string; size: string; disabled: boolean; readOnly: boolean; isPreview: boolean; count: number; showGrade: boolean; defaultValue: number; readAs: (val: number) => number; allowHalf: boolean; allowClear: boolean; onChange: () => void; onHoverChange: () => void; locale: Partial<{ description: string; }> & { momentLocale?: string | undefined; }; }; static displayName: string; static currentValue(min: number, max: number, hoverValue: number, stateValue: number): number; static getDerivedStateFromProps(nextProps: RatingProps): Partial; timer: ReturnType | null; underlayNode: HTMLDivElement | null; readonly props: ClassPropsWithDefault; constructor(props: RatingProps); componentDidMount(): void; componentWillUnmount(): void; [key: `refs-rating-icon-${number}`]: HTMLSpanElement | null; clearTimer(): void; getRenderResult(): void; getValue(e: MouseEvent): number; handleHover(e: MouseEvent): void; handleLeave(): void; onKeyDown(e: KeyboardEvent): true | void; handleChecked(index: number): void; handleClick(e: MouseEvent): void; getOverlayWidth(): number | "auto"; getInfoLeft(): number; saveRef: (ref: HTMLSpanElement | null, i: number) => void; render(): React.JSX.Element; } declare const _default: typeof Rating; export default _default;