export interface Component {
  type: string
  name: string
  version: string
  purl?: string
  licenses?: { license: { id: string } }[]
  category?: string
  port?: string
  description?: string
  license?: string
  sourceUrl?: string
}

export interface SBOMData {
  bomFormat?: string
  specVersion?: string
  version?: number
  metadata?: {
    timestamp?: string
    tools?: { vendor: string; name: string; version: string }[]
    component?: { type: string; name: string; version: string }
  }
  components?: Component[]
}

export type CategoryType = 'all' | 'infrastructure' | 'security-tools' | 'python' | 'go' | 'nodejs' | 'unity' | 'csharp'

export type InfoTabType = 'audit' | 'documentation'

export interface SbomStats {
  totalInfra: number
  totalSecurityTools: number
  totalPython: number
  totalGo: number
  totalNode: number
  totalUnity: number
  totalCsharp: number
  totalAll: number
  databases: number
  services: number
  communication: number
  game: number
}

export interface CategoryItem {
  id: string
  name: string
  count: number
}
