/**
 * 主题系统类型定义（v1 协议）
 *
 * 唯一入口：ConfigProvider<ThemeConfig>
 * 优先级：defaultThemeToken < theme.token；defaultAssets < theme.components.*
 */
import type { BrandAssetOverrides } from './types/brand-assets.js';
/**
 * Token 覆盖映射
 * key 为 CSS 变量名（不含 `--` 前缀），value 为覆盖值。
 * number 值视为尺寸类 token，自动添加 `px` 后缀。
 *
 * @example
 * ```ts
 * const tokens: TokenOverrides = {
 *   'cnai-color-brand-primary': '#ff6600',
 *   'cnai-radius-md': 12,
 * };
 * ```
 */
export type TokenOverrides = Record<string, string | number>;
/**
 * 主题配置（对外唯一协议）
 *
 * @example
 * ```tsx
 * <ConfigProvider theme={{
 *   token: { 'cnai-color-brand-primary': '#ff6600' },
 *   components: {
 *     agent: { avatarUrl: 'https://cdn/avatar.png' },
 *   },
 * }}>
 *   <App />
 * </ConfigProvider>
 * ```
 */
export interface ThemeConfig {
    /** CSS token 覆盖 */
    token?: TokenOverrides;
    /** 主题视觉资产覆盖（按组件维度） */
    components?: BrandAssetOverrides;
}
