/**
 * Account information PNZ-API-CentreLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { ApiResponse, RequestOptions } from '../core';
import { ContentType2Enum } from '../models/contentType2Enum';
import { ContentTypeEnum } from '../models/contentTypeEnum';
import { HFAC8Exchangeauthorizationcodeforaccesstoken } from '../models/hFAC8Exchangeauthorizationcodeforaccesstoken';
import { BaseController } from './baseController';
export declare class AuthorizeConsentController extends BaseController {
    /**
     * Initiate Authorization Code Grant for an Account Access Consent
     *
     * @param clientID
     * @param redirectUri
     * @param privateKey
     * @param KID
     * @param consentID
     * @return Response from the API call
     */
    initiateAuthorizationCodeGrant(clientID: string, redirectUri: string, privateKey: string, KID: string, consentID: string): Promise<string>;
    /**
     * This request is following the redirect which was returned in the previous step. The redirect is to
     * the Bank's login page. In the browser, this redirect happens automatically, and your application
     * won't need to worry about this. However, we must explicitly follow the redirect because we need to
     * mimic the user logging in and consenting.
     *
     * Preconditions:
     *
     * *   This step relies on the presence of a PNZ-T-AC-LoginAppLocation environment variable, which is
     * set upon successful completion of Step HF-AC3 - Initiate authorization code grant for an account
     * access consent.
     *
     *
     * Response:
     *
     * *   The response should be a Middleware Bank login screen.
     * *   This response also returns the OB_AUTHSESSION cookie that is used throughout the login and
     * consent flows in Steps HF-AC5 through HF-AC7.
     *
     *
     * Postconditions:
     *
     * *   The returned request JWT and redirect location are put in the PNZ-T-AC-ObaRequest and PNZ-T-AC-
     * LoginApp environment variables, respectively, in preparation for Step HF-AC5 - Authenticate customer
     * to Middleware Bank.
     *
     *
     * Examples:
     *
     * *   There is one example which shows the request and the expected response.
     *
     *
     * Troubleshooting:
     *
     * *   The most likely cause of errors is that the step is being attempted out of sequence. Be sure to
     * follow the steps in sequence.
     * *   Another likely cause of errors are out of date variable values. Try starting from Step AC1 -
     * Initiate client credentials grant again.
     *
     * @param contentType
     * @param obaRequest
     * @return Response from the API call
     */
    followRedirectToMiddlewareBankSLoginPage(contentType: ContentType2Enum, obaRequest: string, requestOptions?: RequestOptions): Promise<ApiResponse<string>>;
    /**
     * This step mimics the user authenticating at Middleware Bank. Your application doesn't need to worry
     * about this UI because it is provided by the API Provider.
     *
     * Preconditions:
     *
     * *   The user who authenticates is defined by the environment variable PNZ-E-Username. The default
     * user is 'user01'. If you want to authenticate 'user02', then you'll need to change the PNZ-E-
     * Username environment variable to 'user02'.
     * *   This step relies on the presence of the PNZ-T-AC-ObaRequest environment variable, which is set
     * upon successful completion of Step HF-AC4 - Follow redirect to Middleware Bank's login page.
     * *   This step also relies on the OB_AUTHSESSION cookie that is created in step HF-AC4 - Follow
     * redirect to Middleware Bank's login page.
     *
     *
     * Response:
     *
     * *   The response should be a redirect to the Middleware Bank consent page.
     *
     *
     * Postconditions:
     *
     * *   The returned redirect URI is saved in the PNZ-T-AC-ConsentLocation environment variable in
     * preparation for Step HF-AC6 - Follow redirect to Middleware Bank's consent page.
     *
     *
     * Examples:
     *
     * *   There is one example which shows the request and the expected response.
     *
     *
     * Troubleshooting:
     *
     * *   The most likely cause of errors is that the step is being attempted out of sequence. Be sure to
     * follow the steps in sequence.
     * *   Another likely cause of errors are out of date variable values. Try starting from Step AC1 -
     * Initiate client credentials grant again.
     * *   Another cause may be an incorrect username. The only valid usernames are 'user01' and 'user02'.
     * These user names are associated to the two test customers we create in the Sandbox test data set for
     * you.
     *
     * @param contentType
     * @param username
     * @param password
     * @param obaRequest
     * @return Response from the API call
     */
    authenticateCustomerToMiddlewareBank(contentType: ContentTypeEnum, username: string, password: string, obaRequest: string, requestOptions?: RequestOptions): Promise<ApiResponse<void>>;
    /**
     * This step is following the redirect which was returned in the previous step. In the browser, this
     * redirect happens automatically, but we must explicitly follow the redirect.
     *
     * Preconditions:
     *
     * *   This step relies on the presence of a PNZ-T-AC-ConsentLocation environment variable, which is
     * set upon successful completion of Step HF-AC5 - Authenticate customer to Middleware Bank.
     * *   This step also relies on the OB_AUTHSESSION cookie that is created in step HF-AC4 - Follow
     * redirect to Middleware Bank's login page.
     *
     *
     * Response:
     *
     * *   The response should be a Middleware Bank consent screen.
     *
     *
     * Postconditions:
     *
     * *   The list of accounts for which access will be consented is put in the PNZ-T-AC-ConsentedAccounts
     * environment variable, and the Consent App URL from the action of the form is put into the PNZ-T-AC-
     * Consent environment variable in preparation for Step HF-AC7 - Post consented accounts array to
     * complete consent.
     *
     *
     * Examples:
     *
     * *   There is one example which shows the request and the expected response.
     *
     *
     * Troublshooting:
     *
     * *   The most likely cause of errors is that the step is being attempted out of sequence. Be sure to
     * follow the steps in sequence.
     * *   Another likely cause of errors are out of date variable values. Try starting from Step AC1 -
     * Initiate client credentials grant again.
     *
     * @param contentType
     * @param obaRequest
     * @param cookie
     * @return Response from the API call
     */
    followRedirectToMiddlewareBankSConsentPage(contentType: ContentTypeEnum, obaRequest: string, cookie: string, requestOptions?: RequestOptions): Promise<ApiResponse<string>>;
    /**
     * HF AC 7 new
     *
     * @param cookie
     * @param body
     * @return Response from the API call
     */
    postConsentedAccountsArray(cookie: string, body: string, requestOptions?: RequestOptions): Promise<ApiResponse<void>>;
    /**
     * @param clientID
     * @param privateKey
     * @param KID
     * @param redirectUri
     * @param code
     * @return Response from the API call
     */
    exchangeAuthorizationCode(clientID: string, privateKey: string, KID: string, redirectUri: string, code: string, requestOptions?: RequestOptions): Promise<ApiResponse<HFAC8Exchangeauthorizationcodeforaccesstoken>>;
}
