/**
 * Account and Transaction API SpecificationLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { ApiResponse, RequestOptions } from '../core';
import { GetAccountStatementResponse } from '../models/getAccountStatementResponse';
import { GetAccountStatementsResponse } from '../models/getAccountStatementsResponse';
import { GetAccountStatementTransactionsResponse } from '../models/getAccountStatementTransactionsResponse';
import { GetStatementsResponse } from '../models/getStatementsResponse';
import { BaseController } from './baseController';
export declare class StatementsController extends BaseController {
    /**
     * Get Statement related to an account
     *
     * @param accountId                  A unique identifier used to identify the account resource.
     * @param statementId                A unique identifier used to identify the statement resource.
     * @param fromStatementDateTime      The UTC ISO 8601 Date Time to filter statements FROM NB Time
     *                                             component is optional - set to 00:00:00 for just Date. If the Date
     *                                             Time contains a timezone, the API Provider must ignore the timezone
     *                                             component.
     * @param toStatementDateTime        The UTC ISO 8601 Date Time to filter statements TO NB Time component
     *                                             is optional - set to 00:00:00 for just Date. If the Date Time contains
     *                                             a timezone, the API Provider must ignore the timezone component.
     * @param xFapiAuthDate              The time when the Customer last logged in with the Third Party. All
     *                                             dates in the HTTP headers are represented as RFC 7231 Full Dates. An
     *                                             example is below: Sun, 10 Sep 2017 19:43:31 UTC
     * @param xFapiCustomerIpAddress     The Customer's IP address if the Customer is currently logged in with
     *                                             the Third Party.
     * @param xFapiInteractionId         An RFC4122 UID used as a correlation id.
     * @param xMerchantIpAddress         The IP address of the merchant when making account information
     *                                             requests through a Third Party.
     * @param xCustomerUserAgent         The User-Agent of the application on the customer device that is used
     *                                             to make the account information request
     * @return Response from the API call
     */
    getAccountStatement(accountId: string, statementId: string, fromStatementDateTime?: string, toStatementDateTime?: string, xFapiAuthDate?: string, xFapiCustomerIpAddress?: string, xFapiInteractionId?: string, xMerchantIpAddress?: string, xCustomerUserAgent?: string, requestOptions?: RequestOptions): Promise<ApiResponse<GetAccountStatementResponse>>;
    /**
     * Get Statement related to an account
     *
     * @param accountId                  A unique identifier used to identify the account resource.
     * @param statementId                A unique identifier used to identify the statement resource.
     * @param xFapiAuthDate              The time when the Customer last logged in with the Third Party. All
     *                                             dates in the HTTP headers are represented as RFC 7231 Full Dates. An
     *                                             example is below: Sun, 10 Sep 2017 19:43:31 UTC
     * @param xFapiCustomerIpAddress     The Customer's IP address if the Customer is currently logged in with
     *                                             the Third Party.
     * @param xFapiInteractionId         An RFC4122 UID used as a correlation id.
     * @param xMerchantIpAddress         The IP address of the merchant when making account information
     *                                             requests through a Third Party.
     * @param xCustomerUserAgent         The User-Agent of the application on the customer device that is used
     *                                             to make the account information request
     * @return Response from the API call
     */
    getAccountStatementFile(accountId: string, statementId: string, xFapiAuthDate?: string, xFapiCustomerIpAddress?: string, xFapiInteractionId?: string, xMerchantIpAddress?: string, xCustomerUserAgent?: string, requestOptions?: RequestOptions): Promise<ApiResponse<unknown | undefined>>;
    /**
     * Get Statement Transactions related to an account
     *
     * @param accountId                  A unique identifier used to identify the account resource.
     * @param statementId                A unique identifier used to identify the statement resource.
     * @param fromBookingDateTime        The UTC ISO 8601 Date Time to filter transactions FROM NB Time
     *                                             component is optional - set to 00:00:00 for just Date. If the Date
     *                                             Time contains a timezone, the API Provider must ignore the timezone
     *                                             component.
     * @param toBookingDateTime          The UTC ISO 8601 Date Time to filter transactions TO NB Time
     *                                             component is optional - set to 00:00:00 for just Date. If the Date
     *                                             Time contains a timezone, the API Provider must ignore the timezone
     *                                             component.
     * @param xFapiAuthDate              The time when the Customer last logged in with the Third Party. All
     *                                             dates in the HTTP headers are represented as RFC 7231 Full Dates. An
     *                                             example is below: Sun, 10 Sep 2017 19:43:31 UTC
     * @param xFapiCustomerIpAddress     The Customer's IP address if the Customer is currently logged in with
     *                                             the Third Party.
     * @param xFapiInteractionId         An RFC4122 UID used as a correlation id.
     * @param xMerchantIpAddress         The IP address of the merchant when making account information
     *                                             requests through a Third Party.
     * @param xCustomerUserAgent         The User-Agent of the application on the customer device that is used
     *                                             to make the account information request
     * @return Response from the API call
     */
    getAccountStatementTransactions(accountId: string, statementId: string, fromBookingDateTime?: string, toBookingDateTime?: string, xFapiAuthDate?: string, xFapiCustomerIpAddress?: string, xFapiInteractionId?: string, xMerchantIpAddress?: string, xCustomerUserAgent?: string, requestOptions?: RequestOptions): Promise<ApiResponse<GetAccountStatementTransactionsResponse>>;
    /**
     * Get Statements related to an account
     *
     * @param accountId                  A unique identifier used to identify the account resource.
     * @param fromStatementDateTime      The UTC ISO 8601 Date Time to filter statements FROM NB Time
     *                                             component is optional - set to 00:00:00 for just Date. If the Date
     *                                             Time contains a timezone, the API Provider must ignore the timezone
     *                                             component.
     * @param toStatementDateTime        The UTC ISO 8601 Date Time to filter statements TO NB Time component
     *                                             is optional - set to 00:00:00 for just Date. If the Date Time contains
     *                                             a timezone, the API Provider must ignore the timezone component.
     * @param xFapiAuthDate              The time when the Customer last logged in with the Third Party. All
     *                                             dates in the HTTP headers are represented as RFC 7231 Full Dates. An
     *                                             example is below: Sun, 10 Sep 2017 19:43:31 UTC
     * @param xFapiCustomerIpAddress     The Customer's IP address if the Customer is currently logged in with
     *                                             the Third Party.
     * @param xFapiInteractionId         An RFC4122 UID used as a correlation id.
     * @param xMerchantIpAddress         The IP address of the merchant when making account information
     *                                             requests through a Third Party.
     * @param xCustomerUserAgent         The User-Agent of the application on the customer device that is used
     *                                             to make the account information request
     * @return Response from the API call
     */
    getAccountStatements(accountId: string, fromStatementDateTime?: string, toStatementDateTime?: string, xFapiAuthDate?: string, xFapiCustomerIpAddress?: string, xFapiInteractionId?: string, xMerchantIpAddress?: string, xCustomerUserAgent?: string, requestOptions?: RequestOptions): Promise<ApiResponse<GetAccountStatementsResponse>>;
    /**
     * Get Statements
     *
     * @param fromStatementDateTime      The UTC ISO 8601 Date Time to filter statements FROM NB Time
     *                                             component is optional - set to 00:00:00 for just Date. If the Date
     *                                             Time contains a timezone, the API Provider must ignore the timezone
     *                                             component.
     * @param toStatementDateTime        The UTC ISO 8601 Date Time to filter statements TO NB Time component
     *                                             is optional - set to 00:00:00 for just Date. If the Date Time contains
     *                                             a timezone, the API Provider must ignore the timezone component.
     * @param xFapiAuthDate              The time when the Customer last logged in with the Third Party. All
     *                                             dates in the HTTP headers are represented as RFC 7231 Full Dates. An
     *                                             example is below: Sun, 10 Sep 2017 19:43:31 UTC
     * @param xFapiCustomerIpAddress     The Customer's IP address if the Customer is currently logged in with
     *                                             the Third Party.
     * @param xFapiInteractionId         An RFC4122 UID used as a correlation id.
     * @param xMerchantIpAddress         The IP address of the merchant when making account information
     *                                             requests through a Third Party.
     * @param xCustomerUserAgent         The User-Agent of the application on the customer device that is used
     *                                             to make the account information request
     * @return Response from the API call
     */
    getStatements(fromStatementDateTime?: string, toStatementDateTime?: string, xFapiAuthDate?: string, xFapiCustomerIpAddress?: string, xFapiInteractionId?: string, xMerchantIpAddress?: string, xCustomerUserAgent?: string, requestOptions?: RequestOptions): Promise<ApiResponse<GetStatementsResponse>>;
}
