import type { Icon } from '@/components/ui/lucide'

export type ExternalSystemStatus = 'available' | 'upcoming' | 'ended' | 'inactive'

export type ExternalSystem = {
  id: string
  code: string
  name: string
  description: string
  url: string
  icon: Icon
  is_active: boolean
  starts_at: string | null
  ends_at: string | null
  opens_in_new_tab: boolean
  sso_enabled: boolean
  contact_email: string | null
  notes: string | null
  created_at: string
  updated_at: string
}

export type ExternalSystemSsoLaunchResponse = {
  success: boolean
  message?: string
  data: {
    launch_url: string
    expires_at: string
  }
}

export type ExternalSystemListResponse = {
  success: boolean
  message?: string
  data: ExternalSystem[]
}

export type ExternalSystemResponse = {
  success: boolean
  message?: string
  data: ExternalSystem
}
