<?php

declare(strict_types=1);

namespace App\Repositories\QzTrayLog;

use App\Models\QzTrayLog;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Contracts\Pagination\LengthAwarePaginator;

interface QzTrayLogRepositoryInterface
{
    /**
     * Create a new log entry.
     */
    public function log(array $data): QzTrayLog;

    /**
     * Get recent logs.
     */
    public function getRecent(int $limit = 10): Collection;

    /**
     * Get paginated logs.
     */
    public function getPaginated(int $perPage = 15): LengthAwarePaginator;
}
