/**
 * mini-charts 包的共享类型定义
 */

import type { CanvasContext as TaroCanvasContext } from '@tarojs/taro';

/**
 * 扩展 Taro CanvasContext，添加 uCharts 需要的属性
 * 用于统一 BaseChart 组件和 uCharts 库的 Canvas 上下文类型
 */
export interface ExtendedCanvasContext extends Omit<TaroCanvasContext, 'lineCap'> {
  width: number;
  height: number;
  // uCharts 需要的额外属性（Taro 只有对应的 set 方法）
  textAlign?: CanvasTextAlign | string; // 使用 string 类型以兼容 uCharts 的用法
  textBaseline?: CanvasTextBaseline | string; // 使用 string 类型以兼容 uCharts 的用法
  lineCap?: CanvasLineCap | string; // 使用 string 类型以兼容 uCharts 的用法
}
