import '../../about/external/data/Commitment.dart';
import '../../about/external/data/ExcuseCluster.dart';
import '../../about/internal/application/Standing.dart';
import '../../about/internal/application/UserDetails.dart';

abstract class ConnectHome {
  void onUserLoaded(UserDetails details);

  void onPlanLoaded(List<Commitment> plan);

  void onOverdueLoaded(List<Commitment> overdue);

  /// Standing arrives derived, with the debt it was derived from.
  void onStandingResolved(Standing standing, double debtScore);

  /// The one excuse pattern worth confronting the user with today.
  void onExcuseInsight(ExcuseCluster? cluster);

  /// Distress detected — the strict persona drops entirely.
  void onDistressDetected();

  /// Creating a commitment is refused at this standing.
  void onCreationBlocked(String reason);
}
