import type { HTTPResponse, SchemeCheck, SchemePartialOptions } from '../../types'; import type { Auth } from '..'; import { Oauth2Scheme, type Oauth2SchemeEndpoints, type Oauth2SchemeOptions } from './oauth2'; import { IdToken, ConfigurationDocument } from '../inc'; import { type IdTokenableSchemeOptions } from '../../types'; export interface OpenIDConnectSchemeEndpoints extends Oauth2SchemeEndpoints { configuration: string; } export interface OpenIDConnectSchemeOptions extends Oauth2SchemeOptions, IdTokenableSchemeOptions { fetchRemote: boolean; endpoints: OpenIDConnectSchemeEndpoints; } export declare class OpenIDConnectScheme extends Oauth2Scheme { #private; idToken: IdToken; configurationDocument: ConfigurationDocument; constructor($auth: Auth, options: SchemePartialOptions, ...defaults: SchemePartialOptions[]); protected updateTokens(response: HTTPResponse): void; check(checkStatus?: boolean): SchemeCheck; mounted(): Promise>; reset(): void; logout(): void; fetchUser(): Promise; }