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 plan); void onOverdueLoaded(List 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); /// A tick landed. [late] is true when the window had already closed, so the /// row can show it was recorded as a late complete rather than a clean one. void onTicked(Commitment item, bool late); /// The tick failed and the row has to go back to unchecked. void onTickFailed(Commitment item); }