import { WebApiClient } from '../web-api/web-api-client'; import { WebApiConfiguration } from './web-api-configuration'; /** * @export * @class AccessTokenProvider * @implements {AccessTokenProviderInterface} */ export declare class AccessTokenProvider implements AccessTokenProviderInterface { private token; private client; private code; private secret; /** * Set access token given in initialization * @param {WebApiConfiguration} config */ constructor(config: WebApiConfiguration); /** * Set token and expiration properties of a given tokeng * @param {AccessToken|string} token * @returns {void} */ useAccessToken(token: AccessToken | string): void; /** * @param {string} code */ useCode(code: string): void; /** * @returns {string} */ getCode(): string; /** * @returns {Promise} */ getAccessToken(): Promise; /** * Refresh access token and return it in promise * @returns {Promise} */ refreshAccessToken(): Promise; /** * Helper method to join and encode data * @private * @param {any} data * @returns {string} */ private joinAndEncodeData(data); } /** * @export * @interface AccessTokenProviderInterface */ export interface AccessTokenProviderInterface { /** * Returns access token */ getAccessToken(): Promise; /** * Calls the API in order to refresh token and returns */ refreshAccessToken(): Promise; /** * Sets access token on */ useAccessToken(token: AccessToken | string): void; useCode(string: any): void; getCode(): string; } /** * @export * @interface AccessToken */ export interface AccessToken { token: string; expiresIn: number; tokenType: string; refreshToken?: string; } /** * @export * @class AccessTokenProviderClient * @extends {WebApiClient} */ export declare class AccessTokenProviderClient extends WebApiClient { constructor(config: any); }