/// <reference types="react" />

import * as React from 'react';

interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
    defaultValue?: any;
    onChange?: any;
}

export interface RatingProps extends HTMLAttributesWeak {
    /**
     * 默认值
     */
    defaultValue?: number;

    /**
     * 值
     */
    value?: number;

    /**
     * 评分的总数
     */
    count?: number;

    /**
     * 是否显示 grade
     */
    showGrade?: boolean;

    /**
     * 尺寸
     */
    size?: 'small' | 'medium' | 'large';

    /**
     * 是否允许半星评分
     */
    allowHalf?: boolean;

    /**
     * 用户点击评分时触发的回调
     */
    onChange?: (value: string) => void;

    /**
     * 用户hover评分时触发的回调
     */
    onHoverChange?: (value: string) => void;

    /**
     * 是否禁用
     */
    disabled?: boolean;

    /**
     * 评分文案生成方法，传入id支持无障碍时，读屏软件可读
     */
    readAs?: () => void;

    /**
     * 自定义国际化文案对象
     */
    locale?: {};
}

export default class Rating extends React.Component<RatingProps, any> {}
