import { ReactNode } from 'react';
import { BasicComponent } from "../../../utils/typings";
import { UISize } from '../../base/atoms';
export type RateSize = Extract<UISize, 'large' | 'normal' | 'small'>;
export interface BaseRate extends BasicComponent {
    /**
    * star 尺寸
    */
    size: RateSize
    /**
    * 展示评分
    */
    showScore: boolean
    /**
    * star 总数
    */
    count: number
    /**
    * 受控的 star 数值
    */
    value: number
    /**
    * 非受控的 star 默认值
    */
    defaultValue: number
    /**
    * 最少选中star数量
    */
    min: number
    /**
    * 使用图标(选中)
    */
    checkedIcon: ReactNode
    /**
    * 使用图标(未选中)
    */
    uncheckedIcon: ReactNode
    /**
    * 是否禁用
    */
    disabled: boolean
    /**
    * 是否只读
    */
    readOnly: boolean
    /**
    * 是否半星
    */
    allowHalf: boolean
    /**
    * 是否允许滑动选择 ｜ boolean
    */
    touchable: boolean
    /**
    * 当前 star 数修改时触发
    */
    onChange: (value: number) => void
    /**
    * touch 滑动结束时触发
    */
    onTouchEnd: (e: TouchEvent, value: number) => void
}
