import '../../about/external/data/Commitment.dart';
import '../../about/external/data/Goal.dart';

abstract class ConnectGoalDetail {
  void onGoalLoaded(Goal goal, List<Commitment> tasks);

  /// The task is ready to run — hand off to the full-screen runner.
  void onTaskReady(Commitment task);

  /// A tick landed. [late] is true when the window had already closed.
  void onTaskTicked(Commitment task, bool late);

  /// The tick failed; the row goes back to unchecked.
  void onTickFailed(Commitment task);
}
