import 'package:equatable/equatable.dart';

abstract class BalanceEvent extends Equatable {
  const BalanceEvent();

  @override
  List<Object?> get props => [];
}

class LoadGroupBalance extends BalanceEvent {
  final String groupId;

  const LoadGroupBalance(this.groupId);

  @override
  List<Object?> get props => [groupId];
}

class RefreshBalance extends BalanceEvent {
  final String groupId;

  const RefreshBalance(this.groupId);

  @override
  List<Object?> get props => [groupId];
}

class MarkSettlementAsCompleted extends BalanceEvent {
  final String groupId;
  final String fromUserId;
  final String toUserId;
  final double amount;

  const MarkSettlementAsCompleted({
    required this.groupId,
    required this.fromUserId,
    required this.toUserId,
    required this.amount,
  });

  @override
  List<Object?> get props => [groupId, fromUserId, toUserId, amount];
}