<?php

declare(strict_types=1);

namespace GNexus\GAuth\Contract;

use GNexus\GAuth\DTO\TokenSet;

interface TokenEndpointInterface
{
    public function exchangeAuthorizationCode(string $code, string $pkceVerifier): TokenSet;

    public function refreshToken(string $refreshToken): TokenSet;

    public function revokeToken(string $token, ?string $tokenTypeHint = null): void;
}

