package ports

type TransactionStore interface {
	// CreateShopTransaction(ctx context.Context, transaction domain.CreateShopTransaction) (domain.ShopTransaction, error)
	// GetAllShopTransactions(ctx context.Context, filter domain.ShopTransactionFilter) ([]domain.ShopTransactionDetail, error)
	// GetShopTransactionByID(ctx context.Context, id int64) (domain.ShopTransactionDetail, error)
	// GetShopTransactionByBranch(ctx context.Context, id int64) ([]domain.ShopTransactionDetail, error)
	// UpdateShopTransactionVerified(ctx context.Context, id int64, verified bool, approvedBy int64) error
	// GetTransactionTotals(ctx context.Context, filter domain.ReportFilter) (deposits, withdrawals domain.Currency, err error)
	// GetBranchTransactionTotals(ctx context.Context, filter domain.ReportFilter) (map[int64]domain.BranchTransactions, error)

	// UpdateShopBetCashOut(ctx context.Context, id int64, cashedOut bool) error
	// UpdateShopBetCashoutID(ctx context.Context, id int64, cashoutID string) error

	// CreateShopDeposit(ctx context.Context, deposit domain.CreateShopDeposit) (domain.ShopDeposit, error)
	// // GetAllShopDeposit(ctx context.Context, filter domain.ShopDepositFilter) ([]domain.ShopDepositDetail, error)
	// GetShopDepositByID(ctx context.Context, id int64) (domain.ShopDepositDetail, error)
	// GetShopDepositByShopTransactionID(ctx context.Context, shopTransactionID int64) (domain.ShopDepositDetail, error)
	// UpdateShopDepositTransferID(ctx context.Context, id int64, transferID domain.ValidInt64) error
}
