import type { CSSProperties, ReactNode } from 'react';
/**
 * 从 @pisell/utils 重新导出公共类型
 */
export type { DisplayState } from '@pisell/utils';
/**
 * PisellRating 组件 Props 类型定义
 *
 * 基于 Ant Design Rate 组件，独立实现
 */
export interface PisellRatingProps {
    /**
     * 显示模式
     * @default 'edit'
     */
    mode?: 'read' | 'edit';
    /**
     * 是否禁用
     * @default false
     */
    disabled?: boolean;
    /**
     * 当前评分值（受控）
     */
    value?: number;
    /**
     * 默认评分值（非受控）
     */
    defaultValue?: number;
    /**
     * 评分变更回调
     */
    onChange?: (value: number) => void;
    /**
     * 星星数量
     * @default 5
     */
    count?: number;
    /**
     * 最大评分值（同 count，为了与 Number 系列保持一致）
     * @default 5
     */
    max?: number;
    /**
     * 是否允许半星评分
     * @default false
     */
    allowHalf?: boolean;
    /**
     * 是否允许清除评分
     * @default true
     */
    allowClear?: boolean;
    /**
     * 自定义字符
     * @default StarFilled
     */
    character?: ReactNode | ((props: {
        index: number;
        value: number;
    }) => ReactNode);
    /**
     * 评分描述文本数组
     * @example ['很差', '差', '一般', '好', '很好']
     */
    tooltips?: string[];
    /**
     * 是否显示数值文本
     * @default false
     */
    showValue?: boolean;
    /**
     * 是否显示评分人数
     * @default false
     */
    showCount?: boolean;
    /**
     * 评分人数
     */
    reviewCount?: number;
    /**
     * 星星尺寸（仅影响样式）
     * @default 20
     */
    size?: number;
    /**
     * 星星颜色（已选中）
     * @default '#fadb14'
     */
    color?: string;
    /**
     * 星星颜色（未选中）
     * @default '#d9d9d9'
     */
    unselectedColor?: string;
    /**
     * 悬停评分值变化回调
     */
    onHoverChange?: (value: number) => void;
    /**
     * 聚焦回调
     */
    onFocus?: () => void;
    /**
     * 失焦回调
     */
    onBlur?: () => void;
    /**
     * 自定义类名
     */
    className?: string;
    /**
     * 自定义样式
     */
    style?: CSSProperties;
    /**
     * ARIA 标签
     */
    'aria-label'?: string;
    /**
     * HTML id 属性
     */
    id?: string;
}
