rest-client-sdk
Version:
Rest Client SDK for API
21 lines (20 loc) • 941 B
TypeScript
import { Logger } from '../utils/logging';
import TokenGeneratorInterface, { TokenBodyReturn } from './TokenGeneratorInterface';
import { Token, TokenResponse } from './types';
interface UrlConfig {
scheme: string;
path: string;
port?: string;
}
declare abstract class AbstractTokenGenerator<T extends Token, C> implements TokenGeneratorInterface<T> {
readonly tokenGeneratorConfig: C;
protected logger?: Logger;
constructor(tokenGeneratorConfig: C, logger?: Logger);
abstract generateToken(parameters: unknown): Promise<TokenBodyReturn<T> | TokenResponse<T>>;
abstract refreshToken(accessToken: null | T): Promise<TokenBodyReturn<T> | TokenResponse<T>>;
abstract checkTokenGeneratorConfig(config: C): void;
/** @deprecated */
protected _manageOauthError(response: Response): Promise<never>;
protected generateUrlFromConfig(config: UrlConfig): string;
}
export default AbstractTokenGenerator;