<?php

namespace App\Modules\Wallet\Repositories\Contracts;

use App\Modules\Wallet\Models\WalletTransaction;
use Illuminate\Contracts\Pagination\LengthAwarePaginator;

interface WalletTransactionRepositoryInterface
{
    public function paginateForUser(int $userId, int $perPage = 15): LengthAwarePaginator;

    /**
     * معاملات النوع reward فقط (سجل المكافآت).
     */
    public function paginateRewardsForUser(int $userId, int $perPage = 15): LengthAwarePaginator;

    public function create(array $attributes): WalletTransaction;
}
