import 'package:equatable/equatable.dart';
import '../../domain/models/billing_period.dart';

/// Base class for all billing events.
abstract class BillingEvent extends Equatable {
  /// Creates a [BillingEvent].
  const BillingEvent();

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

/// Event triggered when billing data needs to be loaded.
class BillingLoadStarted extends BillingEvent {
  /// Creates a [BillingLoadStarted] event.
  const BillingLoadStarted();
}

class BillingPeriodChanged extends BillingEvent {
  const BillingPeriodChanged(this.period);

  final BillingPeriod period;

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