import { Router } from 'express'; import type { BaseClient, Client, TokenSet } from 'openid-client'; import { UsersService } from '../../services/users.js'; import type { AuthDriverOptions } from '../../types/index.js'; import { BaseOAuthDriver, type UserPayload } from './baseoauth.js'; export declare class OAuth2AuthDriver extends BaseOAuthDriver { client: Client; redirectUrl: string; usersService: UsersService; config: Record; getClient(): Promise; getredirectUrl(): string; getUserService(): UsersService; getConfig(): Record; getClientName(): string; constructor(options: AuthDriverOptions, config: Record); generateAuthUrl(codeVerifier: string, prompt?: boolean): string; getTokenSetAndUserInfo(payload: Record): Promise<[TokenSet, Record, UserPayload]>; } export declare function createOAuth2AuthRouter(providerName: string): Router;