import { Router } from 'express'; import { Client } from 'openid-client'; import { LocalAuthDriver } from './local'; import { UsersService } from '../../services'; import { AuthDriverOptions, User } from '../../types'; export declare class OAuth2AuthDriver extends LocalAuthDriver { client: Client; redirectUrl: string; usersService: UsersService; config: Record; constructor(options: AuthDriverOptions, config: Record); generateCodeVerifier(): string; generateAuthUrl(codeVerifier: string, prompt?: boolean): string; private fetchUserId; getUserID(payload: Record): Promise; login(user: User): Promise; refresh(user: User): Promise; } export declare function createOAuth2AuthRouter(providerName: string): Router;