/**
 * 图表组件库完整导出文件
 *
 * 统一导出所有图表组件、类型、工具函数等
 */

// ==================== 通用图表组件 ====================
export { default as BaseChart } from './BaseChart.vue'
export { default as PieChart } from './PieChart.vue'
export { default as BarChart } from './BarChart.vue'
export { default as LineChart } from './LineChart.vue'
export { default as GaugeChart } from './GaugeChart.vue'
export { default as FunnelChart } from './FunnelChart.vue'

// ==================== 业务图表组件 ====================
export { default as AssetStatusChart } from './business/AssetStatusChart.vue'
export { default as AssetDistributionChart } from './business/AssetDistributionChart.vue'
export { default AssetValueTrendChart } from './business/AssetValueTrendChart.vue'
export { default as AssetUtilizationChart } from './business/AssetUtilizationChart.vue'

// ==================== 统计卡片组件 ====================
export { default as StatCard } from '../statistics/StatCard.vue'
export { default as StatCardGroup } from '../statistics/StatCardGroup.vue'

// ==================== Composables ====================
export { useECharts } from '@/composables/useECharts'
export { useChartData } from '@/composables/useChartData'

// ==================== 工具函数 ====================
export {
  // 主题配置
  echartsTheme,
  assetStatusColors,
  assetStatusNames,

  // 图表配置
  baseChartOption,
  pieChartOption,
  barChartOption,
  lineChartOption,
  gaugeChartOption,
  funnelChartOption,

  // 格式化函数
  formatNumber,
  formatCurrency,
  formatPercentage,
  getColor,
  getAssetStatusColor,
  getAssetStatusName,

  // 工具函数
  resizeChart,
  mergeOption,
} from '@/utils/echarts'

// ==================== 性能优化 ====================
export {
  performanceConfig,
  applyPerformanceConfig,
  sampleData,
  aggregateDataByTime,
  paginateData,
  lttbDownsampling,
  debounce,
  throttle,
  createPerformanceMonitor,
  type ChartPerformanceMonitor,
} from '@/utils/echarts/performance'

// ==================== 类型定义 ====================
export type {
  // 基础类型
  ChartDataItem,
  ChartSeries,

  // 配置类型
  PieChartConfig,
  BarChartConfig,
  LineChartConfig,
  GaugeChartConfig,
  FunnelChartConfig,
  StatCardConfig,

  // 业务类型
  AssetStatusStatistics,
  AssetDistributionStatistics,
  AssetTrendData,
  AssetTypeStatistics,
  MaintenanceStatistics,

  // 其他类型
  ChartTheme,
  ChartSize,
  ChartEvents,
  ChartExportConfig,
  ChartResponsiveConfig,
  ChartLoadingConfig,
  ChartAnimationConfig,
  ChartPerformanceConfig,
} from '@/types/charts'

// ==================== 常量 ====================
export const CHART_VERSION = '1.0.0'
export const CHART_AUTHOR = '图表组件开发组'
