<?php  namespace App\Services\Auth;  use Exception; use App\Enums\OAuthDriver; use Illuminate\Http\RedirectResponse; use Laravel\Socialite\Contracts\User; use Laravel\Socialite\Facades\Socialite; use Laravel\Socialite\Two\AbstractProvider; use App\Exceptions\SocialiteProviderNotSupported;  class OAuthHandler { 	protected ?string $lastExceptionMessage = null;  	public static function isDriverActive(OAuthDriver $driver): bool 	{ 		return setting($driver->value . '_active', false); 	}  	public function getLastExceptionMessage(): ?string{}  	public function getRedirect(OAuthDriver $driver, bool $stateless = false): ?RedirectResponse{}  	public function getUser(OAuthDriver $driver, ?string $token = null): ?User{}  	protected function setOAuthConfig(OAuthDriver $driver): self{}  	protected function getSocialite(OAuthDriver $driver, bool $stateless = false): AbstractProvider{} }