export = AuthOauthAuthorizationCode;
/**
 * Creates an oauth authenticator.
 *
 * @param {Object} connectionConfig
 * @param {Object} httpClient
 *
 * @returns {Object}
 * @constructor
 */
declare function AuthOauthAuthorizationCode(connectionConfig: Object, httpClient: Object): Object;
declare class AuthOauthAuthorizationCode {
    /**
     * Creates an oauth authenticator.
     *
     * @param {Object} connectionConfig
     * @param {Object} httpClient
     *
     * @returns {Object}
     * @constructor
     */
    constructor(connectionConfig: Object, httpClient: Object);
    /**
     * Update JSON body with token.
     * @param {JSON} body
     * @returns {null}
     */
    updateBody: (body: JSON) => null;
    loadOauth4webapi: () => Promise<void>;
    authenticate: () => Promise<void>;
    clearAccessTokenCache: () => Promise<void>;
    reauthenticate: (body: any) => Promise<void>;
    executeFullAuthorizationCodeFlow: () => Promise<any>;
    getAccessTokenUsingRefreshToken: (refreshToken: any) => Promise<any>;
}
