import 'package:trainhub_flutter/domain/entities/program.dart'; import 'package:trainhub_flutter/domain/entities/program_week.dart'; import 'package:trainhub_flutter/domain/entities/program_workout.dart'; abstract class ProgramRepository { Future> getAllPrograms(); Future getProgram(String id); Future> getWeeks(String programId); Future> getWorkouts(String programId); Future createProgram(String name); Future deleteProgram(String id); Future duplicateProgram(String sourceId); Future addWeek(String programId, int position); Future deleteWeek(String id); Future updateWeekNote(String weekId, String note); Future addWorkout(ProgramWorkoutEntity workout); Future updateWorkout(ProgramWorkoutEntity workout); Future deleteWorkout(String id); Future toggleWorkoutComplete(String id, bool currentStatus); }