import { OauthProvider, OathInterface } from './oauth-provider'; import { AccessTokenProvider, AccessTokenProviderInterface, AccessToken } from './access-token-provider'; /** * @export * @class WebApiContext * @implements {AccessTokenProviderInterface} * @implements {OathInterface} */ export declare class WebApiContext implements AccessTokenProviderInterface, OathInterface { accessTokenProvider: AccessTokenProvider; oauthProvider: OauthProvider; /** * Delegate getAccessToken call to accessTokenProvider if there is any * @returns {Promise} * * @memberOf WebApiContext */ getAccessToken(): Promise; /** * Delegate refreshAccessToken call to accessTokenProvider if there is any * @returns {Promise} * * @memberOf WebApiContext */ refreshAccessToken(): Promise; /** * Returns login url to CSAS MEP in string * @returns {string} * * @memberOf WebApiContext */ getOauth2Url(): string; /** * Extracts access token from redirect url and sets it on AccessTokenProvider * @param {string} url * @returns {Promise} * * @memberOf WebApiContext */ processRedirect(url: string): Promise; /** * Set AccessToken on AccessTokenProvider * @param {(AccessToken | string)} token * @returns {void} * * @memberOf WebApiContext */ useAccessToken(token: AccessToken | string): void; /** * Set code on accessTokenProvider that is used for retrieving access token if you are using Authorization Code grant type * @param {string} code * @returns {void} * * @memberOf WebApiContext */ useCode(code: string): void; /** * Returns code on accessTokenProvider that is used for retrieving access token if you are using Authorization Code grant type * @returns {string} * * @memberOf WebApiContext */ getCode(): string; /** * Ensure that accessTokenProvider is set * @private * @returns {void} * * @memberOf WebApiContext */ private _ensureRightConfiguration(); }