import { AxiosInstance } from 'axios'; import { Client, TokenSet } from 'openid-client'; import ILogger from '../helpers/ILogger'; import { IGlobalAuthConfiguration } from '../IGlobalAuthConfiguration'; import { APIClientCredentialsConfiguration, APIRefreshTokenConfiguration } from './APIConfiguration'; export declare type AccessToken = { access_token: string; expires_in: number; token_type: string; scope: string; }; declare interface TokenStore { accessToken?: AccessToken; refreshToken?: string; dateInMs?: number; } export interface TokenManager { getAccessToken(): Promise; } export type UserInfo = { data_residency: string; workspace_membership_in: string[]; }; export declare class ClientCredentialsManager implements TokenManager { tokenStore: TokenStore | undefined; logger: ILogger; config: APIClientCredentialsConfiguration; axios: AxiosInstance; constructor(config: APIClientCredentialsConfiguration, logger: ILogger); private hasValidToken; private storeToken; getAccessToken(): Promise; private generateBasicAuth; } export declare class RefreshTokenManager implements TokenManager { logger: ILogger; client: Client; tokenStore: TokenStore | undefined; configLocation: string; constructor(config: APIRefreshTokenConfiguration, logger: ILogger); private hasValidToken; private getToken; storeToken(tokenResponse: TokenSet): Promise; getAccessToken(): Promise; loadConfig(configLocation: string): Promise; saveConfig(configLocation: string, config: IGlobalAuthConfiguration): Promise; } export {};