<?php

namespace Paysera\Component\RestClientCommon\Middleware\Authentication;

use GuzzleHttp6\Promise\PromiseInterface;
use Psr\Http\Message\RequestInterface;

/**
 * @api
 */
interface AuthenticationMiddlewareInterface
{
    /**
     * @param callable $nextHandler
     * @param RequestInterface $request
     * @param array $options
     *
     * @return PromiseInterface
     */
    public function __invoke(callable $nextHandler, RequestInterface $request, array $options);
}
