import 'package:niogu_app/core/enums/transaction_reference_type.dart';
import 'package:niogu_app/features/report/transaction/domain/entities/transaction_report.dart';

abstract class ITransactionReportRepository {
  Stream<List<TransactionReportItem>> watchTransactionItems({
    String? outletId,
    TransactionType? type,
    DateTime? startDate,
    DateTime? endDate,
  });

  Future<OrderDetail> getOrderDetail(String orderId);

  Future<PurchaseDetail> getPurchaseDetail(String purchaseId);

  Future<int> cancelOrder(String orderId);

  Future<int> cancelPurchase(String purchaseId);
}