import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart';
import 'package:krow/features/earning/domain/entities/earnings_batch_entity.dart';
import 'package:krow/features/earning/domain/entities/earnings_summary_entity.dart';

abstract interface class StaffEarningRepository {
  Future<EarningsSummaryEntity> getStaffEarningsData();

  Future<EarningsBatchEntity> getEarningsBatch({
    required String status,
    int limit = 10,
    String? lastEntryCursor,
  });

  Future<EarningShiftEntity?> confirmStaffEarning({required String earningId});

  Future<EarningShiftEntity?> disputeStaffEarning({
    required String id,
    required String reason,
    String? details,
  });
}
