<?php

declare(strict_types=1);

namespace App\Repositories;

use App\Models\Pouzivatel\Pouzivatel;
use Spatie\Permission\Contracts\Role;
use Prettus\Repository\Contracts\RepositoryInterface;

/**
 * Interface PouzivatelRepositoryContract
 *
 * @package App\Repositories
 */
interface PouzivatelRepositoryContract extends RepositoryInterface
{
    /**
     * @param int    $userId
     * @param string $token
     *
     * @return void
     */
    public function saveNotificationToken(int $userId, string $token): Pouzivatel;

    /**
     * @param \Spatie\Permission\Contracts\Role $role
     *
     * @return null|\App\Models\Pouzivatel\Pouzivatel[]
     */
    public function getByRole(Role $role);
}
