export type DeviceInventoryColumnMetadata = {
  key: string
  label: string
  width: number
  default?: boolean
  description?: string
}

export type DeviceInventoryColumnConfig = {
  key: string
  label?: string
}

export const DEVICE_INVENTORY_COLUMN_METADATA: DeviceInventoryColumnMetadata[] = [
  { key: "displayName", label: "Dispositivo", width: 26, default: true },
  { key: "hostname", label: "Hostname", width: 24, default: true },
  { key: "deviceType", label: "Tipo", width: 14, default: true },
  { key: "devicePlatform", label: "Plataforma", width: 18, default: true },
  { key: "company", label: "Empresa", width: 26, default: true },
  { key: "status", label: "Status", width: 16, default: true },
  { key: "persona", label: "Persona", width: 16, default: true },
  { key: "active", label: "Ativo", width: 10, default: true },
  { key: "lastHeartbeat", label: "Último heartbeat", width: 20, default: true },
  { key: "assignedUser", label: "Responsável", width: 24, default: true },
  { key: "assignedEmail", label: "E-mail responsável", width: 26, default: true },
  { key: "linkedUsers", label: "Usuários vinculados", width: 28, default: true },
  { key: "authEmail", label: "E-mail autenticado", width: 26, default: true },
  { key: "osName", label: "Sistema operacional", width: 20, default: true },
  { key: "osVersion", label: "Versão SO", width: 18, default: true },
  { key: "architecture", label: "Arquitetura", width: 14, default: true },
  { key: "hardwareVendor", label: "Fabricante", width: 20, default: true },
  { key: "hardwareModel", label: "Modelo", width: 22, default: true },
  { key: "hardwareSerial", label: "Serial hardware", width: 24, default: true },
  { key: "cpu", label: "Processador", width: 22, default: true },
  { key: "physicalCores", label: "Cores físicas", width: 14, default: true },
  { key: "logicalCores", label: "Cores lógicas", width: 14, default: true },
  { key: "memoryGiB", label: "Memória (GiB)", width: 20, default: true },
  { key: "gpus", label: "GPUs", width: 24, default: true },
  { key: "labels", label: "Labels", width: 24, default: true },
  { key: "macs", label: "MACs", width: 24, default: true },
  { key: "serials", label: "Seriais", width: 24, default: true },
  { key: "primaryIp", label: "IP principal", width: 18, default: true },
  { key: "publicIp", label: "IP público", width: 18, default: true },
  { key: "registeredBy", label: "Registrado via", width: 18, default: true },
  { key: "tokenExpiresAt", label: "Token expira em", width: 20, default: true },
  { key: "tokenLastUsedAt", label: "Token último uso", width: 20, default: true },
  { key: "tokenUsageCount", label: "Uso do token", width: 14, default: true },
  { key: "createdAt", label: "Criado em", width: 20, default: true },
  { key: "updatedAt", label: "Atualizado em", width: 20, default: true },
  { key: "softwareCount", label: "Softwares instalados", width: 20, default: true },
  { key: "osBuild", label: "Build SO", width: 18, default: true },
  { key: "osLicense", label: "Licença ativada", width: 18, default: true },
  { key: "osExperience", label: "Experiência SO", width: 18, default: true },
  { key: "domain", label: "Domínio", width: 18, default: true },
  { key: "workgroup", label: "Grupo de trabalho", width: 20, default: true },
  { key: "deviceName", label: "Nome do dispositivo", width: 24, default: true },
  { key: "boardSerial", label: "Serial placa-mãe", width: 24, default: true },
  { key: "collaboratorName", label: "Colaborador (nome)", width: 24, default: true },
  { key: "collaboratorEmail", label: "Colaborador (e-mail)", width: 26, default: true },
  { key: "remoteAccessCount", label: "Acessos remotos", width: 18, default: true },
  { key: "lastBootTime", label: "Último reinício", width: 20, default: true },
  { key: "uptimeFormatted", label: "Tempo ligado", width: 16, default: true },
  { key: "bootCount30d", label: "Reinícios (30d)", width: 16, default: true },
  { key: "managementMode", label: "Modo de gestão", width: 20, default: false },
  { key: "usbPolicy", label: "Política USB", width: 18, default: true },
  { key: "usbPolicyStatus", label: "Status política USB", width: 18, default: true },
  { key: "ticketCount", label: "Total de tickets", width: 16, default: true },
]

export type DeviceInventoryColumnKey = (typeof DEVICE_INVENTORY_COLUMN_METADATA)[number]["key"]
