rest-client-sdk
Version:
Rest Client SDK for API
28 lines (27 loc) • 1.32 kB
TypeScript
import AsyncStorageInterface from './AsyncStorageInterface';
import TokenGeneratorInterface from './TokenGenerator/TokenGeneratorInterface';
import { Token } from './TokenGenerator/types';
import type TokenStorageInterface from './TokenStorageInterface';
import type { HasExpiresAt } from './TokenStorageInterface';
import { Logger } from './utils/logging';
declare class TokenStorage<T extends Token> implements TokenStorageInterface<T> {
#private;
accessTokenKey: string;
constructor(tokenGenerator: TokenGeneratorInterface<T>, asyncStorage: AsyncStorageInterface, accessTokenKey?: string, logger?: Logger);
setAsyncStorage(asyncStorage: AsyncStorageInterface): void;
hasAccessToken(): Promise<boolean>;
getAccessToken(): Promise<null | string>;
getAccessTokenObject(): Promise<null | (T & HasExpiresAt)>;
logout(): Promise<void>;
private _addExpiresAtToResponseData;
generateToken(parameters: unknown): Promise<T & HasExpiresAt>;
refreshToken(): Promise<T & HasExpiresAt>;
private handleTokenResponse;
/**
* Return the number of second when the token will expire
* return value can be negative if the token is already expired
*/
getCurrentTokenExpiresIn(): Promise<number | null>;
private _storeAccessToken;
}
export default TokenStorage;