import { type UserProfile } from 'oidc-client-ts'; import { type AuthGuardOptions, AuthManager, type AuthSubscriber, type AuthSubscriberOptions, type AuthSubscription } from '../core'; import type { AccessToken } from './models/access-token.model'; import type { LoginArgs, LogoutArgs, RenewArgs } from './models/args.model'; import type { IdToken } from './models/id-token.model'; import type { OIDCAuthSettings } from './models/oidc-auth-settings.model'; import type { UserSession } from './models/user-session.model'; export declare class OIDCAuthManager extends AuthManager { #private; private set user(value); init(userSettings: OIDCAuthSettings): Promise; logout(args?: LogoutArgs): Promise; login(args?: LoginArgs): Promise; renew(args?: RenewArgs): Promise; getSettings(): OIDCAuthSettings; isRenewing(): boolean; isAuthenticated(): Promise; runGuard(toUrl: string, options?: AuthGuardOptions): Promise; getUserProfile(): Promise; getUserSession(): Promise; getIdToken(): Promise; getIdTokenDecoded(): Promise; getAccessToken(): Promise; getAccessTokenDecoded(): Promise; destroy(): void; onIdTokenChanged(handler: AuthSubscriber<[string | undefined]>, options?: AuthSubscriberOptions): AuthSubscription; onAccessTokenChanged(handler: AuthSubscriber<[string | undefined]>, options?: AuthSubscriberOptions): AuthSubscription; onUserProfileChanged(handler: AuthSubscriber<[UserProfile | undefined]>, options?: AuthSubscriberOptions): AuthSubscription; onUserSessionChanged(handler: AuthSubscriber<[UserSession | undefined]>, options?: AuthSubscriberOptions): AuthSubscription; onAuthenticatedChanged(handler: AuthSubscriber<[boolean]>, options?: AuthSubscriberOptions): AuthSubscription; onRenewingChanged(handler: AuthSubscriber<[boolean]>, options?: AuthSubscriberOptions): AuthSubscription; onRedirect(handler: AuthSubscriber<[URL]>, options?: AuthSubscriberOptions): AuthSubscription; }