/**
 * 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 { GetSelfLoansLoanIdChargesResponse } from '../models';
import { GetSelfLoansLoanIdResponse } from '../models';
import { GetSelfLoansLoanIdTransactionsTransactionIdResponse } from '../models';
import { GetSelfLoansTemplateResponse } from '../models';
import { PostSelfLoansLoanIdRequest } from '../models';
import { PostSelfLoansLoanIdResponse } from '../models';
import { PostSelfLoansRequest } from '../models';
import { PostSelfLoansResponse } from '../models';
import { PutSelfLoansLoanIdRequest } from '../models';
import { PutSelfLoansLoanIdResponse } from '../models';
/**
 * SelfLoansApi - axios parameter creator
 * @export
 */
export declare const SelfLoansApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Calculate Loan Repayment Schedule:  Calculates Loan Repayment Schedule  Mandatory Fields: productId, principal, loanTermFrequency, loanTermFrequencyType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, expectedDisbursementDate, transactionProcessingStrategyId  Submit a new Loan Application:  Mandatory Fields: clientId, productId, principal, loanTermFrequency, loanTermFrequencyType, loanType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, expectedDisbursementDate, submittedOnDate, loanType  Additional Mandatory Fields if interest recalculation is enabled for product and Rest frequency not same as repayment period: recalculationRestFrequencyDate  Additional Mandatory Fields if interest recalculation with interest/fee compounding is enabled for product and compounding frequency not same as repayment period: recalculationCompoundingFrequencyDate  Additional Mandatory Field if Entity-Datatable Check is enabled for the entity of type loan: datatables  Optional Fields: graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, linkAccountId, allowPartialPeriodInterestCalcualtion, fixedEmiAmount, maxOutstandingLoanBalance, disbursementData, graceOnArrearsAgeing, createStandingInstructionAtDisbursement (requires linkedAccountId if set to true)  Showing request/response for \'Submit a new Loan Application\'
     * @summary Calculate Loan Repayment Schedule | Submit a new Loan Application
     * @param {PostSelfLoansRequest} postSelfLoansRequest
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calculateLoanScheduleOrSubmitLoanApplication1: (postSelfLoansRequest: PostSelfLoansRequest, command?: string, options?: any) => Promise<RequestArgs>;
    /**
     * Loan application can only be modified when in \'Submitted and pending approval\' state. Once the application is approved, the details cannot be changed using this method.
     * @summary Update a Loan Application
     * @param {number} loanId loanId
     * @param {PutSelfLoansLoanIdRequest} putSelfLoansLoanIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    modifyLoanApplication1: (loanId: number, putSelfLoansLoanIdRequest: PutSelfLoansLoanIdRequest, options?: any) => Promise<RequestArgs>;
    /**
     * Lists loan Charges  Example Requests:  self/loans/1/charges   self/loans/1/charges?fields=name,amountOrPercentage
     * @summary List Loan Charges
     * @param {number} loanId loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllLoanCharges1: (loanId: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {number} loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveGuarantorDetails2: (loanId: number, options?: any) => Promise<RequestArgs>;
    /**
     * Retrieves a Loan  Example Requests:  self/loans/1   self/loans/1?fields=id,principal,annualInterestRate   self/loans/1?fields=id,principal,annualInterestRate&associations=repaymentSchedule,transactions
     * @summary Retrieve a Loan
     * @param {number} loanId loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveLoan1: (loanId: number, options?: any) => Promise<RequestArgs>;
    /**
     * Retrieves a Loan Charge  Example Requests:  self/loans/1/charges/1   self/loans/1/charges/1?fields=name,amountOrPercentage
     * @summary Retrieve a Loan Charge
     * @param {number} loanId loanId
     * @param {number} chargeId chargeId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveLoanCharge1: (loanId: number, chargeId: number, options?: any) => Promise<RequestArgs>;
    /**
     * Retrieves a Loan Transaction DetailsExample Request:  self/loans/5/transactions/3
     * @summary Retrieve a Loan Transaction Details
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveTransaction1: (loanId: number, transactionId: number, options?: any) => Promise<RequestArgs>;
    /**
     * Applicant Withdraws from Loan Application  Mandatory Fields: withdrawnOnDate
     * @summary Applicant Withdraws from Loan Application
     * @param {number} loanId loanId
     * @param {PostSelfLoansLoanIdRequest} postSelfLoansLoanIdRequest
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    stateTransitions1: (loanId: number, postSelfLoansLoanIdRequest: PostSelfLoansLoanIdRequest, command?: string, options?: any) => Promise<RequestArgs>;
    /**
     * Retrieves Loan Details Template  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 description Lists  Example Requests:  self/loans/template?templateType=individual&clientId=1   self/loans/template?templateType=individual&clientId=1&productId=1
     * @summary Retrieve Loan Details Template
     * @param {number} [clientId] clientId
     * @param {number} [productId] productId
     * @param {string} [templateType] templateType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template17: (clientId?: number, productId?: number, templateType?: string, options?: any) => Promise<RequestArgs>;
};
/**
 * SelfLoansApi - functional programming interface
 * @export
 */
export declare const SelfLoansApiFp: (configuration?: Configuration) => {
    /**
     * Calculate Loan Repayment Schedule:  Calculates Loan Repayment Schedule  Mandatory Fields: productId, principal, loanTermFrequency, loanTermFrequencyType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, expectedDisbursementDate, transactionProcessingStrategyId  Submit a new Loan Application:  Mandatory Fields: clientId, productId, principal, loanTermFrequency, loanTermFrequencyType, loanType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, expectedDisbursementDate, submittedOnDate, loanType  Additional Mandatory Fields if interest recalculation is enabled for product and Rest frequency not same as repayment period: recalculationRestFrequencyDate  Additional Mandatory Fields if interest recalculation with interest/fee compounding is enabled for product and compounding frequency not same as repayment period: recalculationCompoundingFrequencyDate  Additional Mandatory Field if Entity-Datatable Check is enabled for the entity of type loan: datatables  Optional Fields: graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, linkAccountId, allowPartialPeriodInterestCalcualtion, fixedEmiAmount, maxOutstandingLoanBalance, disbursementData, graceOnArrearsAgeing, createStandingInstructionAtDisbursement (requires linkedAccountId if set to true)  Showing request/response for \'Submit a new Loan Application\'
     * @summary Calculate Loan Repayment Schedule | Submit a new Loan Application
     * @param {PostSelfLoansRequest} postSelfLoansRequest
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calculateLoanScheduleOrSubmitLoanApplication1(postSelfLoansRequest: PostSelfLoansRequest, command?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostSelfLoansResponse>>;
    /**
     * Loan application can only be modified when in \'Submitted and pending approval\' state. Once the application is approved, the details cannot be changed using this method.
     * @summary Update a Loan Application
     * @param {number} loanId loanId
     * @param {PutSelfLoansLoanIdRequest} putSelfLoansLoanIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    modifyLoanApplication1(loanId: number, putSelfLoansLoanIdRequest: PutSelfLoansLoanIdRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PutSelfLoansLoanIdResponse>>;
    /**
     * Lists loan Charges  Example Requests:  self/loans/1/charges   self/loans/1/charges?fields=name,amountOrPercentage
     * @summary List Loan Charges
     * @param {number} loanId loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllLoanCharges1(loanId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<GetSelfLoansLoanIdChargesResponse>>>;
    /**
     *
     * @param {number} loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveGuarantorDetails2(loanId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
    /**
     * Retrieves a Loan  Example Requests:  self/loans/1   self/loans/1?fields=id,principal,annualInterestRate   self/loans/1?fields=id,principal,annualInterestRate&associations=repaymentSchedule,transactions
     * @summary Retrieve a Loan
     * @param {number} loanId loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveLoan1(loanId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSelfLoansLoanIdResponse>>;
    /**
     * Retrieves a Loan Charge  Example Requests:  self/loans/1/charges/1   self/loans/1/charges/1?fields=name,amountOrPercentage
     * @summary Retrieve a Loan Charge
     * @param {number} loanId loanId
     * @param {number} chargeId chargeId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveLoanCharge1(loanId: number, chargeId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSelfLoansLoanIdChargesResponse>>;
    /**
     * Retrieves a Loan Transaction DetailsExample Request:  self/loans/5/transactions/3
     * @summary Retrieve a Loan Transaction Details
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveTransaction1(loanId: number, transactionId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSelfLoansLoanIdTransactionsTransactionIdResponse>>;
    /**
     * Applicant Withdraws from Loan Application  Mandatory Fields: withdrawnOnDate
     * @summary Applicant Withdraws from Loan Application
     * @param {number} loanId loanId
     * @param {PostSelfLoansLoanIdRequest} postSelfLoansLoanIdRequest
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    stateTransitions1(loanId: number, postSelfLoansLoanIdRequest: PostSelfLoansLoanIdRequest, command?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostSelfLoansLoanIdResponse>>;
    /**
     * Retrieves Loan Details Template  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 description Lists  Example Requests:  self/loans/template?templateType=individual&clientId=1   self/loans/template?templateType=individual&clientId=1&productId=1
     * @summary Retrieve Loan Details Template
     * @param {number} [clientId] clientId
     * @param {number} [productId] productId
     * @param {string} [templateType] templateType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template17(clientId?: number, productId?: number, templateType?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSelfLoansTemplateResponse>>;
};
/**
 * SelfLoansApi - factory interface
 * @export
 */
export declare const SelfLoansApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Calculate Loan Repayment Schedule:  Calculates Loan Repayment Schedule  Mandatory Fields: productId, principal, loanTermFrequency, loanTermFrequencyType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, expectedDisbursementDate, transactionProcessingStrategyId  Submit a new Loan Application:  Mandatory Fields: clientId, productId, principal, loanTermFrequency, loanTermFrequencyType, loanType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, expectedDisbursementDate, submittedOnDate, loanType  Additional Mandatory Fields if interest recalculation is enabled for product and Rest frequency not same as repayment period: recalculationRestFrequencyDate  Additional Mandatory Fields if interest recalculation with interest/fee compounding is enabled for product and compounding frequency not same as repayment period: recalculationCompoundingFrequencyDate  Additional Mandatory Field if Entity-Datatable Check is enabled for the entity of type loan: datatables  Optional Fields: graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, linkAccountId, allowPartialPeriodInterestCalcualtion, fixedEmiAmount, maxOutstandingLoanBalance, disbursementData, graceOnArrearsAgeing, createStandingInstructionAtDisbursement (requires linkedAccountId if set to true)  Showing request/response for \'Submit a new Loan Application\'
     * @summary Calculate Loan Repayment Schedule | Submit a new Loan Application
     * @param {PostSelfLoansRequest} postSelfLoansRequest
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calculateLoanScheduleOrSubmitLoanApplication1(postSelfLoansRequest: PostSelfLoansRequest, command?: string, options?: any): AxiosPromise<PostSelfLoansResponse>;
    /**
     * Loan application can only be modified when in \'Submitted and pending approval\' state. Once the application is approved, the details cannot be changed using this method.
     * @summary Update a Loan Application
     * @param {number} loanId loanId
     * @param {PutSelfLoansLoanIdRequest} putSelfLoansLoanIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    modifyLoanApplication1(loanId: number, putSelfLoansLoanIdRequest: PutSelfLoansLoanIdRequest, options?: any): AxiosPromise<PutSelfLoansLoanIdResponse>;
    /**
     * Lists loan Charges  Example Requests:  self/loans/1/charges   self/loans/1/charges?fields=name,amountOrPercentage
     * @summary List Loan Charges
     * @param {number} loanId loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllLoanCharges1(loanId: number, options?: any): AxiosPromise<Array<GetSelfLoansLoanIdChargesResponse>>;
    /**
     *
     * @param {number} loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveGuarantorDetails2(loanId: number, options?: any): AxiosPromise<string>;
    /**
     * Retrieves a Loan  Example Requests:  self/loans/1   self/loans/1?fields=id,principal,annualInterestRate   self/loans/1?fields=id,principal,annualInterestRate&associations=repaymentSchedule,transactions
     * @summary Retrieve a Loan
     * @param {number} loanId loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveLoan1(loanId: number, options?: any): AxiosPromise<GetSelfLoansLoanIdResponse>;
    /**
     * Retrieves a Loan Charge  Example Requests:  self/loans/1/charges/1   self/loans/1/charges/1?fields=name,amountOrPercentage
     * @summary Retrieve a Loan Charge
     * @param {number} loanId loanId
     * @param {number} chargeId chargeId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveLoanCharge1(loanId: number, chargeId: number, options?: any): AxiosPromise<GetSelfLoansLoanIdChargesResponse>;
    /**
     * Retrieves a Loan Transaction DetailsExample Request:  self/loans/5/transactions/3
     * @summary Retrieve a Loan Transaction Details
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveTransaction1(loanId: number, transactionId: number, options?: any): AxiosPromise<GetSelfLoansLoanIdTransactionsTransactionIdResponse>;
    /**
     * Applicant Withdraws from Loan Application  Mandatory Fields: withdrawnOnDate
     * @summary Applicant Withdraws from Loan Application
     * @param {number} loanId loanId
     * @param {PostSelfLoansLoanIdRequest} postSelfLoansLoanIdRequest
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    stateTransitions1(loanId: number, postSelfLoansLoanIdRequest: PostSelfLoansLoanIdRequest, command?: string, options?: any): AxiosPromise<PostSelfLoansLoanIdResponse>;
    /**
     * Retrieves Loan Details Template  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 description Lists  Example Requests:  self/loans/template?templateType=individual&clientId=1   self/loans/template?templateType=individual&clientId=1&productId=1
     * @summary Retrieve Loan Details Template
     * @param {number} [clientId] clientId
     * @param {number} [productId] productId
     * @param {string} [templateType] templateType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template17(clientId?: number, productId?: number, templateType?: string, options?: any): AxiosPromise<GetSelfLoansTemplateResponse>;
};
/**
 * SelfLoansApi - object-oriented interface
 * @export
 * @class SelfLoansApi
 * @extends {BaseAPI}
 */
export declare class SelfLoansApi extends BaseAPI {
    /**
     * Calculate Loan Repayment Schedule:  Calculates Loan Repayment Schedule  Mandatory Fields: productId, principal, loanTermFrequency, loanTermFrequencyType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, expectedDisbursementDate, transactionProcessingStrategyId  Submit a new Loan Application:  Mandatory Fields: clientId, productId, principal, loanTermFrequency, loanTermFrequencyType, loanType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, expectedDisbursementDate, submittedOnDate, loanType  Additional Mandatory Fields if interest recalculation is enabled for product and Rest frequency not same as repayment period: recalculationRestFrequencyDate  Additional Mandatory Fields if interest recalculation with interest/fee compounding is enabled for product and compounding frequency not same as repayment period: recalculationCompoundingFrequencyDate  Additional Mandatory Field if Entity-Datatable Check is enabled for the entity of type loan: datatables  Optional Fields: graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, linkAccountId, allowPartialPeriodInterestCalcualtion, fixedEmiAmount, maxOutstandingLoanBalance, disbursementData, graceOnArrearsAgeing, createStandingInstructionAtDisbursement (requires linkedAccountId if set to true)  Showing request/response for \'Submit a new Loan Application\'
     * @summary Calculate Loan Repayment Schedule | Submit a new Loan Application
     * @param {PostSelfLoansRequest} postSelfLoansRequest
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfLoansApi
     */
    calculateLoanScheduleOrSubmitLoanApplication1(postSelfLoansRequest: PostSelfLoansRequest, command?: string, options?: any): Promise<import("axios").AxiosResponse<PostSelfLoansResponse>>;
    /**
     * Loan application can only be modified when in \'Submitted and pending approval\' state. Once the application is approved, the details cannot be changed using this method.
     * @summary Update a Loan Application
     * @param {number} loanId loanId
     * @param {PutSelfLoansLoanIdRequest} putSelfLoansLoanIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfLoansApi
     */
    modifyLoanApplication1(loanId: number, putSelfLoansLoanIdRequest: PutSelfLoansLoanIdRequest, options?: any): Promise<import("axios").AxiosResponse<PutSelfLoansLoanIdResponse>>;
    /**
     * Lists loan Charges  Example Requests:  self/loans/1/charges   self/loans/1/charges?fields=name,amountOrPercentage
     * @summary List Loan Charges
     * @param {number} loanId loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfLoansApi
     */
    retrieveAllLoanCharges1(loanId: number, options?: any): Promise<import("axios").AxiosResponse<GetSelfLoansLoanIdChargesResponse[]>>;
    /**
     *
     * @param {number} loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfLoansApi
     */
    retrieveGuarantorDetails2(loanId: number, options?: any): Promise<import("axios").AxiosResponse<string>>;
    /**
     * Retrieves a Loan  Example Requests:  self/loans/1   self/loans/1?fields=id,principal,annualInterestRate   self/loans/1?fields=id,principal,annualInterestRate&associations=repaymentSchedule,transactions
     * @summary Retrieve a Loan
     * @param {number} loanId loanId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfLoansApi
     */
    retrieveLoan1(loanId: number, options?: any): Promise<import("axios").AxiosResponse<GetSelfLoansLoanIdResponse>>;
    /**
     * Retrieves a Loan Charge  Example Requests:  self/loans/1/charges/1   self/loans/1/charges/1?fields=name,amountOrPercentage
     * @summary Retrieve a Loan Charge
     * @param {number} loanId loanId
     * @param {number} chargeId chargeId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfLoansApi
     */
    retrieveLoanCharge1(loanId: number, chargeId: number, options?: any): Promise<import("axios").AxiosResponse<GetSelfLoansLoanIdChargesResponse>>;
    /**
     * Retrieves a Loan Transaction DetailsExample Request:  self/loans/5/transactions/3
     * @summary Retrieve a Loan Transaction Details
     * @param {number} loanId loanId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfLoansApi
     */
    retrieveTransaction1(loanId: number, transactionId: number, options?: any): Promise<import("axios").AxiosResponse<GetSelfLoansLoanIdTransactionsTransactionIdResponse>>;
    /**
     * Applicant Withdraws from Loan Application  Mandatory Fields: withdrawnOnDate
     * @summary Applicant Withdraws from Loan Application
     * @param {number} loanId loanId
     * @param {PostSelfLoansLoanIdRequest} postSelfLoansLoanIdRequest
     * @param {string} [command] command
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfLoansApi
     */
    stateTransitions1(loanId: number, postSelfLoansLoanIdRequest: PostSelfLoansLoanIdRequest, command?: string, options?: any): Promise<import("axios").AxiosResponse<PostSelfLoansLoanIdResponse>>;
    /**
     * Retrieves Loan Details Template  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 description Lists  Example Requests:  self/loans/template?templateType=individual&clientId=1   self/loans/template?templateType=individual&clientId=1&productId=1
     * @summary Retrieve Loan Details Template
     * @param {number} [clientId] clientId
     * @param {number} [productId] productId
     * @param {string} [templateType] templateType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfLoansApi
     */
    template17(clientId?: number, productId?: number, templateType?: string, options?: any): Promise<import("axios").AxiosResponse<GetSelfLoansTemplateResponse>>;
}
