import type { FormBaseControlSchema, FormControlProps, PickClassStyleType } from '../types';
export type RatingPositionType = 'left' | 'right';
export interface RatingProps extends PickClassStyleType {
    id?: string;
    key?: string | number;
    style?: React.CSSProperties;
    count: number;
    half: boolean;
    char: string | React.ReactNode;
    className?: string;
    charClassName?: string;
    textClassName?: string;
    onChange?: (value: number) => void;
    onHoverChange?: (value: number) => void;
    value: number;
    containerClass?: string;
    readOnly: boolean;
    disabled?: boolean;
    allowClear?: boolean;
    inactiveColor?: string;
    colors?: string | {
        [propName: string]: string;
    };
    texts?: {
        [propName: string]: string;
    };
    textPosition?: RatingPositionType;
}
/**
 * Rating
 *
 */
export interface RatingControlSchema extends FormBaseControlSchema {
    type: 'input-rating';
    /**
     * 分数
     */
    count?: number;
    /**
     * 允许半颗星
     */
    half?: boolean;
    /**
     * 是否允许再次点击后清除
     */
    allowClear?: boolean;
    /**
     * 是否只读
     */
    readonly?: boolean;
    /**
     * 星星被选中的颜色
     */
    colors?: string | {
        [propName: string]: string;
    };
    /**
     * 未被选中的星星的颜色
     */
    inactiveColor?: string;
    /**
     * 星星被选中时的提示文字
     */
    texts?: {
        [propName: string]: string;
    };
    /**
     * 文字的位置
     */
    textPosition?: RatingPositionType;
    /**
     * 自定义字符
     */
    char?: string;
    /**
     * 自定义字符类名
     */
    charClassName?: string;
    /**
     * 自定义文字类名
     */
    textClassName?: string;
}
export interface InputRatingProps extends FormControlProps {
    value: number;
    count: number;
    half: boolean;
    readOnly: boolean;
}
