<?php

declare(strict_types=1);

namespace App\Services\PushNotificationsService;

use App\Models\Pouzivatel\Pouzivatel;

/**
 *
 */
interface PushNotificationsServiceContract
{
    /**
     * @param \App\Models\Pouzivatel\Pouzivatel $pouzivatel
     * @param string                            $token
     *
     * @return void
     */
    public function userDeviceTokenStored(Pouzivatel $pouzivatel, string $token): void;

    /**
     * @param \App\Models\Pouzivatel\Pouzivatel $pouzivatel
     *
     * @return mixed
     */
    public function registerUserToTopics(Pouzivatel $pouzivatel);

    /**
     * Validuje tokeny pouzivatelov a vrati pole neplatnych tokenov.
     *
     * @param array $tokens
     *
     * @return array
     */
    public function validateUsersTokens(array $tokens): array;
}
