import type { CuiTokenExchangeRequestBody, CuiTokenResponse } from '@cuby-ui/api'; import type { TokenResponse } from 'angular-oauth2-oidc'; import { OAuthService } from 'angular-oauth2-oidc'; import type { Observable } from 'rxjs'; import type { CuiTokenData } from './token.options'; declare abstract class CuiToken extends OAuthService { private readonly tokenData; private readonly CONVERT_TO_SECONDS_CONSTANT; getRefreshTokenExpiration(): number; getAccessTokenData(): T; checkIsTokenExpired(): boolean; checkIsRefreshTokenExpired(): boolean; protected getTokenDataFromStore(token: string): CuiTokenData; private parseToken; private checkTokenExpired; } export declare class CuiTokenBase extends CuiToken { private readonly exchangeContextApiService; private readonly EXCHANGE_TOKEN_VALUE; refreshToken(): Promise; refreshExchangedToken(): Promise; exchangeToken(params: CuiTokenExchangeRequestBody): Observable; private setTokenResponse; private setIdToken; } export {};