export interface UmbAuthClientEndpoints { authorizationEndpoint: string; tokenEndpoint: string; revocationEndpoint: string; linkEndpoint: string; linkKeyEndpoint: string; unlinkEndpoint: string; } export interface UmbTokenEndpointResponse { expiresIn: number; issuedAt: number; } /** * Minimal PKCE + token endpoint client. * All token values are `[redacted]` with cookie auth — this client only tracks session timing. * Zero localStorage usage. */ export declare class UmbAuthClient { #private; constructor(endpoints: UmbAuthClientEndpoints, redirectUri: string, clientId?: string, scope?: string); get codeVerifier(): string | undefined; get state(): string | undefined; /** * Generates PKCE parameters and builds the authorization URL. */ buildAuthorizationUrl(identityProvider: string, usernameHint?: string): Promise; /** * Exchanges an authorization code for tokens. * Real tokens are stored in httpOnly cookies by the server. * We only extract session timing from the response. */ exchangeCode(code: string, codeVerifier: string): Promise; /** * Refreshes the session using the httpOnly refresh token cookie. * The `refresh_token` body parameter is `[redacted]` because the server's * `HideBackOfficeTokensHandler` intercepts the request and swaps it for * the real token from the httpOnly cookie. The parameter must be present * (OpenIddict's pipeline requires it) but the value is ignored by the handler. */ refreshToken(): Promise; /** * Revokes the current session tokens via the revocation endpoint. */ revokeToken(): Promise; /** * Clears the in-memory PKCE state after login completes. */ clearPkceState(): void; }