import { ReactNode } from 'react';
import { PisellBasicCardProps } from '../../types';
/**
 * 徽章配置
 */
export interface BadgeConfig {
    /**
     * 徽章数字或文本
     */
    count?: number | string;
    /**
     * 是否显示小红点
     */
    dot?: boolean;
    /**
     * 徽章颜色
     */
    color?: string;
    /**
     * 徽章偏移位置 [x, y]
     */
    offset?: [number, number];
}
/**
 * TabCard 组件 Props
 * 基于 PisellBasicCardProps 扩展
 */
export interface TabCardProps extends PisellBasicCardProps {
    /**
     * 标签唯一标识
     * 必填，用于标识标签
     */
    tabKey: string | number;
    /**
     * 标签文本
     * 必填
     */
    label: ReactNode;
    /**
     * 标签图标
     * 可选，支持 ReactNode（如 antd Icon）
     */
    icon?: ReactNode;
    /**
     * 徽章配置
     * 可选，用于显示未读数、状态等
     */
    badge?: BadgeConfig;
    /**
     * 点击事件
     * 点击标签时触发，传递 tabKey 和事件对象
     */
    onClick?: (tabKey: string | number, event: React.MouseEvent) => void;
    /**
     * 标签位置
     * 用于控制图标和文本的布局方向
     * @default 'horizontal'
     */
    direction?: 'horizontal' | 'vertical';
    /**
     * 标签尺寸
     * @default 'medium'
     */
    size?: 'small' | 'medium' | 'large';
    /**
     * 自定义渲染
     * 完全自定义标签内容
     */
    render?: (props: TabCardProps) => ReactNode;
}
