import 'dart:io'; import 'package:e_porter/domain/models/transaction_model.dart'; abstract class TransactionRepository { Future createTransaction({ required String ticketId, required String flightId, required double amount, required String method, required DateTime expiryTime, required Map flightDetails, required Map bandaraDetails, Map? porterServiceDetails, required Map userDetails, required int passenger, required List> passengerDetails, required List numberSeat, }); Future updateTransactionStatus({ required String ticketId, required String transactionId, required String status, required String userId, }); Future uploadPaymentProof({ required String ticketId, required String transactionId, required File proofImage, required String userId, }); Future> getTransactionsByUserId(String userId); Future getTransactionById({required String ticketId, required String transactionId}); Future syncTransactionToRealtimeDB({required String ticketId, required String transactionId}); Stream watchTransaction({required String ticketId, required String transactionId}); }