export interface MatrixStats {
  total_users: number
  active_users: number
  total_rooms: number
  active_rooms: number
  messages_today: number
  messages_this_week: number
  status: 'online' | 'offline' | 'degraded'
}

export interface JitsiStats {
  active_meetings: number
  total_participants: number
  meetings_today: number
  average_duration_minutes: number
  peak_concurrent_users: number
  total_minutes_today: number
  status: 'online' | 'offline' | 'degraded'
}

export interface TrafficStats {
  matrix: {
    bandwidth_in_mb: number
    bandwidth_out_mb: number
    messages_per_minute: number
    media_uploads_today: number
    media_size_mb: number
  }
  jitsi: {
    bandwidth_in_mb: number
    bandwidth_out_mb: number
    video_streams_active: number
    audio_streams_active: number
    estimated_hourly_gb: number
  }
  total: {
    bandwidth_in_mb: number
    bandwidth_out_mb: number
    estimated_monthly_gb: number
  }
}

export interface CommunicationStats {
  matrix: MatrixStats
  jitsi: JitsiStats
  traffic?: TrafficStats
  last_updated: string
}

export interface ActiveMeeting {
  room_name: string
  display_name: string
  participants: number
  started_at: string
  duration_minutes: number
}

export interface RecentRoom {
  room_id: string
  name: string
  member_count: number
  last_activity: string
  room_type: 'class' | 'parent' | 'staff' | 'general'
}
