import { IFintectureConfig } from './interfaces/ConfigInterface'; /** * Class responsible for performing AIS calls in Fintecture API. * * @export * @class Ais */ export declare class AIS { private axiosInstance; private config; /** * Creates an instance of Ais. */ constructor(config: IFintectureConfig); /** * This API is used to authenticate your customer to his Bank. * Banks can provide different ways of authentication, we implement * both the redirection model and the decoupled model (using the customers smartphone), * subject to the whether the bank has implemented them. By calling * this API and defining the authentication model, you will receive an * API to call which either redirects the customer to his bank or triggers * an authentication request on his smartphone's bank app. * * @param {string} accessToken * @param {string} providerId * @returns {Promise} */ authorize(accessToken: string, providerId: string, redirectUri: string, state?: string, model?: string, psuId?: string, psuIpAddress?: string): Promise; /** * This API is used to poll the authentication status within * the decoupled model. Once the decoupled authentication flow * as initiated, the status is "PENDING". Once the PSU has * successfully authenticated, the status becomes "COMPLETED". * If the authentication times out, is cancelled or failed, * the status becomes "FAILED". * * @param {string} accessToken * @param {string} providerId * @param {string} pollingId * @returns {Promise} */ decoupled(accessToken: string, providerId: string, pollingId: string): Promise; /** * This endpoint returns all information regarding the customer's account(s) * * @param {string} accessToken * @param {string} customerId * @param {object} queryParameters (optional) * @returns {Promise} */ getAccounts(accessToken: string, customerId: string, queryParameters?: object, headerParameters?: object): Promise; /** * This endpoint lists all transactions on the given account * * @param {string} accessToken * @param {string} customerId * @param {string} accountId * @param {object} queryParameters (optional) * @param {object} headerParameters (optional) * @param {string} paginationUrl (optional) * @returns {Promise} */ getTransactions(accessToken: string, customerId: string, accountId: string, queryParameters?: object, headerParameters?: object, paginationUrl?: string): Promise; /** * This endpoint retrieves all personal information of the clients such as name, * address and contact details for all the beneficiary owners. * * @param {string} accessToken * @param {string} customerId * @param {object} queryParameters (optional) * @returns {Promise} */ getAccountHolders(accessToken: string, customerId: string, queryParameters: object, headerParameters?: object): Promise; /** * This endpoint deletes all the accounts data of a given customer * * @param {string} accessToken * @param {string} customerId * @returns {Promise} */ deleteCustomer(accessToken: string, customerId: string): Promise; /** * Private function that creates an instance of api * axios. This instance of axios include all the common headers * params. * * @param {IFintectureConfig} config * @returns {axios} */ private _getAxiosInstance; private _authorizeWithAccessToken; private _authorizeWithAppId; private _decoupledWithAccesToken; private _decoupledWithAppId; }