/**
 * TabataFit Workout Types
 */

export type WorkoutCategory = 'full-body' | 'core' | 'upper-body' | 'lower-body' | 'cardio'

export type WorkoutLevel = 'Beginner' | 'Intermediate' | 'Advanced'

export type WorkoutDuration = 4 | 8 | 12 | 20

export type MusicVibe = 'electronic' | 'hip-hop' | 'pop' | 'rock' | 'chill'

export interface Exercise {
  name: string
  /** Work duration in seconds */
  duration: number
}

export interface Workout {
  id: string
  title: string
  trainerId: string
  category: WorkoutCategory
  level: WorkoutLevel
  /** Duration in minutes */
  duration: WorkoutDuration
  /** Estimated calories burned */
  calories: number
  exercises: Exercise[]
  /** Total rounds (work+rest cycles) */
  rounds: number
  /** Prep time in seconds */
  prepTime: number
  /** Work interval in seconds */
  workTime: number
  /** Rest interval in seconds */
  restTime: number
  equipment: string[]
  musicVibe: MusicVibe
  thumbnailUrl?: string
  videoUrl?: string
  isFeatured?: boolean
}

export interface Collection {
  id: string
  title: string
  description: string
  icon: string
  workoutIds: string[]
  gradient?: [string, string]
}

// Note: Old Program interface removed - replaced by new Program types in program.ts
