/**
 * Apache Fineract
 * Apache Fineract is a secure, multi-tenanted microfinance platform  The goal of the Apache Fineract API is to empower developers to build apps on top of the Apache Fineract Platform<br>The [reference app](https://cui.fineract.dev) (username: mifos, password: password) works on the same demo tenant as the interactive links in this documentation  - The API is organized around [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) - Find out more about Apache Fineract [here](/fineract-provider/api-docs/apiLive.htm#top) - You can [Try The API From Your Browser](/fineract-provider/api-docs/apiLive.htm#interact) - The Generic Options are available [here](/fineract-provider/api-docs/apiLive.htm#genopts) - Find out more about [Updating Dates and Numbers](/fineract-provider/api-docs/apiLive.htm#dates_and_numbers) - For the Authentication and the Basic of HTTP and HTTPS refer [here](/fineract-provider/api-docs/apiLive.htm#authentication_overview) - Check about ERROR codes [here](/fineract-provider/api-docs/apiLive.htm#errors)  Please refer to the [old documentation](/fineract-provider/api-docs/apiLive.htm) for any documentation queries
 *
 * The version of the OpenAPI document: 1.5.0-66-gffae7d4-dirty
 * Contact: dev@fineract.apache.org
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { AxiosPromise, AxiosInstance } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { GetLoansLoanIdTransactionsTemplateResponse } from '../models';
import { GetLoansLoanIdTransactionsTransactionIdResponse } from '../models';
import { PostLoansLoanIdTransactionsResponse } from '../models';
import { PostLoansLoanIdTransactionsTransactionIdRequest } from '../models';
import { PostLoansLoanIdTransactionsTransactionIdResponse } from '../models';
/**
 * LoanTransactionsApi - axios parameter creator
 * @export
 */
export declare const LoanTransactionsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Note: there is no need to specify command={transactionType} parameter.  Mandatory Fields: transactionDate, transactionAmount
     * @summary Adjust a Transaction
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {PostLoansLoanIdTransactionsTransactionIdRequest} postLoansLoanIdTransactionsTransactionIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    adjustLoanTransaction: (loanId: number, transactionId: number, postLoansLoanIdTransactionsTransactionIdRequest: PostLoansLoanIdTransactionsTransactionIdRequest, options?: any) => Promise<RequestArgs>;
    /**
     * Make Recovery Payment:  This API allows collecting recovery payments for written-off loans
     * @summary Make a Repayment | Make a Refund of an Active Loan by Cash | Foreclosure of an Active Loan | Waive Interest | Write-off Loan | Make Recovery Payment | Undo Loan Write-off Transaction
     * @param {number} loanId loanId
     * @param {object} body
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    executeLoanTransaction: (loanId: number, body: object, command?: string, options?: any) => Promise<RequestArgs>;
    /**
     * Retrieves a Transaction Details  Example Request:  loans/5/transactions/3
     * @summary Retrieve a Transaction Details
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveTransaction: (loanId: number, transactionId: number, options?: any) => Promise<RequestArgs>;
    /**
     * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists  Example Request:  loans/1/transactions/template?command=repayment
     * @summary Retrieve Loan Transaction Template
     * @param {number} loanId loanId
     * @param {string} [command] command
     * @param {string} [dateFormat] dateFormat
     * @param {object} [transactionDate] transactionDate
     * @param {string} [locale] locale
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveTransactionTemplate: (loanId: number, command?: string, dateFormat?: string, transactionDate?: object, locale?: string, options?: any) => Promise<RequestArgs>;
};
/**
 * LoanTransactionsApi - functional programming interface
 * @export
 */
export declare const LoanTransactionsApiFp: (configuration?: Configuration) => {
    /**
     * Note: there is no need to specify command={transactionType} parameter.  Mandatory Fields: transactionDate, transactionAmount
     * @summary Adjust a Transaction
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {PostLoansLoanIdTransactionsTransactionIdRequest} postLoansLoanIdTransactionsTransactionIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    adjustLoanTransaction(loanId: number, transactionId: number, postLoansLoanIdTransactionsTransactionIdRequest: PostLoansLoanIdTransactionsTransactionIdRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostLoansLoanIdTransactionsTransactionIdResponse>>;
    /**
     * Make Recovery Payment:  This API allows collecting recovery payments for written-off loans
     * @summary Make a Repayment | Make a Refund of an Active Loan by Cash | Foreclosure of an Active Loan | Waive Interest | Write-off Loan | Make Recovery Payment | Undo Loan Write-off Transaction
     * @param {number} loanId loanId
     * @param {object} body
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    executeLoanTransaction(loanId: number, body: object, command?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostLoansLoanIdTransactionsResponse>>;
    /**
     * Retrieves a Transaction Details  Example Request:  loans/5/transactions/3
     * @summary Retrieve a Transaction Details
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveTransaction(loanId: number, transactionId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetLoansLoanIdTransactionsTransactionIdResponse>>;
    /**
     * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists  Example Request:  loans/1/transactions/template?command=repayment
     * @summary Retrieve Loan Transaction Template
     * @param {number} loanId loanId
     * @param {string} [command] command
     * @param {string} [dateFormat] dateFormat
     * @param {object} [transactionDate] transactionDate
     * @param {string} [locale] locale
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveTransactionTemplate(loanId: number, command?: string, dateFormat?: string, transactionDate?: object, locale?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetLoansLoanIdTransactionsTemplateResponse>>;
};
/**
 * LoanTransactionsApi - factory interface
 * @export
 */
export declare const LoanTransactionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Note: there is no need to specify command={transactionType} parameter.  Mandatory Fields: transactionDate, transactionAmount
     * @summary Adjust a Transaction
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {PostLoansLoanIdTransactionsTransactionIdRequest} postLoansLoanIdTransactionsTransactionIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    adjustLoanTransaction(loanId: number, transactionId: number, postLoansLoanIdTransactionsTransactionIdRequest: PostLoansLoanIdTransactionsTransactionIdRequest, options?: any): AxiosPromise<PostLoansLoanIdTransactionsTransactionIdResponse>;
    /**
     * Make Recovery Payment:  This API allows collecting recovery payments for written-off loans
     * @summary Make a Repayment | Make a Refund of an Active Loan by Cash | Foreclosure of an Active Loan | Waive Interest | Write-off Loan | Make Recovery Payment | Undo Loan Write-off Transaction
     * @param {number} loanId loanId
     * @param {object} body
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    executeLoanTransaction(loanId: number, body: object, command?: string, options?: any): AxiosPromise<PostLoansLoanIdTransactionsResponse>;
    /**
     * Retrieves a Transaction Details  Example Request:  loans/5/transactions/3
     * @summary Retrieve a Transaction Details
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveTransaction(loanId: number, transactionId: number, options?: any): AxiosPromise<GetLoansLoanIdTransactionsTransactionIdResponse>;
    /**
     * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists  Example Request:  loans/1/transactions/template?command=repayment
     * @summary Retrieve Loan Transaction Template
     * @param {number} loanId loanId
     * @param {string} [command] command
     * @param {string} [dateFormat] dateFormat
     * @param {object} [transactionDate] transactionDate
     * @param {string} [locale] locale
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveTransactionTemplate(loanId: number, command?: string, dateFormat?: string, transactionDate?: object, locale?: string, options?: any): AxiosPromise<GetLoansLoanIdTransactionsTemplateResponse>;
};
/**
 * LoanTransactionsApi - object-oriented interface
 * @export
 * @class LoanTransactionsApi
 * @extends {BaseAPI}
 */
export declare class LoanTransactionsApi extends BaseAPI {
    /**
     * Note: there is no need to specify command={transactionType} parameter.  Mandatory Fields: transactionDate, transactionAmount
     * @summary Adjust a Transaction
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {PostLoansLoanIdTransactionsTransactionIdRequest} postLoansLoanIdTransactionsTransactionIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LoanTransactionsApi
     */
    adjustLoanTransaction(loanId: number, transactionId: number, postLoansLoanIdTransactionsTransactionIdRequest: PostLoansLoanIdTransactionsTransactionIdRequest, options?: any): Promise<import("axios").AxiosResponse<PostLoansLoanIdTransactionsTransactionIdResponse>>;
    /**
     * Make Recovery Payment:  This API allows collecting recovery payments for written-off loans
     * @summary Make a Repayment | Make a Refund of an Active Loan by Cash | Foreclosure of an Active Loan | Waive Interest | Write-off Loan | Make Recovery Payment | Undo Loan Write-off Transaction
     * @param {number} loanId loanId
     * @param {object} body
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LoanTransactionsApi
     */
    executeLoanTransaction(loanId: number, body: object, command?: string, options?: any): Promise<import("axios").AxiosResponse<PostLoansLoanIdTransactionsResponse>>;
    /**
     * Retrieves a Transaction Details  Example Request:  loans/5/transactions/3
     * @summary Retrieve a Transaction Details
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LoanTransactionsApi
     */
    retrieveTransaction(loanId: number, transactionId: number, options?: any): Promise<import("axios").AxiosResponse<GetLoansLoanIdTransactionsTransactionIdResponse>>;
    /**
     * This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists  Example Request:  loans/1/transactions/template?command=repayment
     * @summary Retrieve Loan Transaction Template
     * @param {number} loanId loanId
     * @param {string} [command] command
     * @param {string} [dateFormat] dateFormat
     * @param {object} [transactionDate] transactionDate
     * @param {string} [locale] locale
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LoanTransactionsApi
     */
    retrieveTransactionTemplate(loanId: number, command?: string, dateFormat?: string, transactionDate?: object, locale?: string, options?: any): Promise<import("axios").AxiosResponse<GetLoansLoanIdTransactionsTemplateResponse>>;
}
