/*
 * @Author: hcc han_chen301@163.com
 * @Date: 2025-05-23 09:27:20
 * @LastEditors: hcc
 * @LastEditTime: 2025-06-13 16:10:31
 * @remarker:
 */
import type { Component } from 'vue';

interface AnalysisOverviewItem {
  icon: Component | string;
  title: string;
  totalTitle: string;
  totalValue: number;
  value: number;
}

interface AnalysisBaseItem {
  icon: Component | string;
  title: string;
  value: number | string;
  key?: string;
}

interface AnalysisTaskStatisticsItem {
  icon: Component | string;
  title: string;
  totalTitle: string;
  totalValue: number;
  value: number;
  children?: AnalysisBaseItem[];
}

interface WorkbenchProjectItem {
  color?: string;
  content: string;
  date: string;
  group: string;
  icon: Component | string;
  title: string;
  url?: string;
}

interface WorkbenchTrendItem {
  avatar: string;
  content: string;
  date: string;
  title: string;
}

interface WorkbenchTodoItem {
  completed?: boolean;
  content?: string;
  date?: string;
  title?: string;
  type?: string;
  task_no?: string;
}

interface WorkbenchQuickNavItem {
  color?: string;
  icon: Component | string;
  title: string;
  url?: string;
}

export type {
  AnalysisOverviewItem,
  AnalysisTaskStatisticsItem,
  WorkbenchProjectItem,
  WorkbenchQuickNavItem,
  WorkbenchTodoItem,
  WorkbenchTrendItem,
};
