/**
 * 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 { GetAccountTransfersPageItems } from '../models';
import { GetAccountTransfersResponse } from '../models';
import { GetAccountTransfersTemplateRefundByTransferResponse } from '../models';
import { GetAccountTransfersTemplateResponse } from '../models';
import { PostAccountTransfersRefundByTransferRequest } from '../models';
import { PostAccountTransfersRefundByTransferResponse } from '../models';
import { PostAccountTransfersRequest } from '../models';
import { PostAccountTransfersResponse } from '../models';
/**
 * AccountTransfersApi - axios parameter creator
 * @export
 */
export declare const AccountTransfersApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Ability to create new transfer of monetary funds from one account to another.
     * @summary Create new Transfer
     * @param {PostAccountTransfersRequest} postAccountTransfersRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    create4: (postAccountTransfersRequest: PostAccountTransfersRequest, options?: any) => Promise<RequestArgs>;
    /**
     * Lists account\'s transfers  Example Requests:    accounttransfers
     * @summary List account transfers
     * @param {string} [sqlSearch] sqlSearch
     * @param {string} [externalId] externalId
     * @param {number} [offset] offset
     * @param {number} [limit]
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {number} [accountDetailId] accountDetailId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAll18: (sqlSearch?: string, externalId?: string, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, accountDetailId?: number, options?: any) => Promise<RequestArgs>;
    /**
     * Retrieves account transfer  Example Requests :    accounttransfers/1
     * @summary Retrieve account transfer
     * @param {number} transferId transferId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveOne9: (transferId: 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 Requests:    accounttransfers/template?fromAccountType=2&fromOfficeId=1    accounttransfers/template?fromAccountType=2&fromOfficeId=1&fromClientId=1    accounttransfers/template?fromClientId=1&fromAccountType=2&fromAccountId=1
     * @summary Retrieve Account Transfer Template
     * @param {number} [fromOfficeId] fromOfficeId
     * @param {number} [fromClientId] fromClientId
     * @param {number} [fromAccountId] fromAccountId
     * @param {number} [fromAccountType] fromAccountType
     * @param {number} [toOfficeId] toOfficeId
     * @param {number} [toClientId] toClientId
     * @param {number} [toAccountId] toAccountId
     * @param {number} [toAccountType] toAccountType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template5: (fromOfficeId?: number, fromClientId?: number, fromAccountId?: number, fromAccountType?: number, toOfficeId?: number, toClientId?: number, toAccountId?: number, toAccountType?: number, options?: any) => Promise<RequestArgs>;
    /**
     * Retrieves Refund of an Active Loan by Transfer TemplateExample Requests :    accounttransfers/templateRefundByTransfer?fromAccountId=2&fromAccountType=1& toAccountId=1&toAccountType=2&toClientId=1&toOfficeId=1
     * @summary Retrieve Refund of an Active Loan by Transfer Template
     * @param {number} [fromOfficeId] fromOfficeId
     * @param {number} [fromClientId] fromClientId
     * @param {number} [fromAccountId] fromAccountId
     * @param {number} [fromAccountType] fromAccountType
     * @param {number} [toOfficeId] toOfficeId
     * @param {number} [toClientId] toClientId
     * @param {number} [toAccountId] toAccountId
     * @param {number} [toAccountType] toAccountType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateRefundByTransfer: (fromOfficeId?: number, fromClientId?: number, fromAccountId?: number, fromAccountType?: number, toOfficeId?: number, toClientId?: number, toAccountId?: number, toAccountType?: number, options?: any) => Promise<RequestArgs>;
    /**
     * Ability to refund an active loan by transferring to a savings account.
     * @summary Refund of an Active Loan by Transfer
     * @param {PostAccountTransfersRefundByTransferRequest} postAccountTransfersRefundByTransferRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateRefundByTransferPost: (postAccountTransfersRefundByTransferRequest: PostAccountTransfersRefundByTransferRequest, options?: any) => Promise<RequestArgs>;
};
/**
 * AccountTransfersApi - functional programming interface
 * @export
 */
export declare const AccountTransfersApiFp: (configuration?: Configuration) => {
    /**
     * Ability to create new transfer of monetary funds from one account to another.
     * @summary Create new Transfer
     * @param {PostAccountTransfersRequest} postAccountTransfersRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    create4(postAccountTransfersRequest: PostAccountTransfersRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostAccountTransfersResponse>>;
    /**
     * Lists account\'s transfers  Example Requests:    accounttransfers
     * @summary List account transfers
     * @param {string} [sqlSearch] sqlSearch
     * @param {string} [externalId] externalId
     * @param {number} [offset] offset
     * @param {number} [limit]
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {number} [accountDetailId] accountDetailId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAll18(sqlSearch?: string, externalId?: string, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, accountDetailId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetAccountTransfersResponse>>;
    /**
     * Retrieves account transfer  Example Requests :    accounttransfers/1
     * @summary Retrieve account transfer
     * @param {number} transferId transferId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveOne9(transferId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetAccountTransfersPageItems>>;
    /**
     * 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 Requests:    accounttransfers/template?fromAccountType=2&fromOfficeId=1    accounttransfers/template?fromAccountType=2&fromOfficeId=1&fromClientId=1    accounttransfers/template?fromClientId=1&fromAccountType=2&fromAccountId=1
     * @summary Retrieve Account Transfer Template
     * @param {number} [fromOfficeId] fromOfficeId
     * @param {number} [fromClientId] fromClientId
     * @param {number} [fromAccountId] fromAccountId
     * @param {number} [fromAccountType] fromAccountType
     * @param {number} [toOfficeId] toOfficeId
     * @param {number} [toClientId] toClientId
     * @param {number} [toAccountId] toAccountId
     * @param {number} [toAccountType] toAccountType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template5(fromOfficeId?: number, fromClientId?: number, fromAccountId?: number, fromAccountType?: number, toOfficeId?: number, toClientId?: number, toAccountId?: number, toAccountType?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetAccountTransfersTemplateResponse>>;
    /**
     * Retrieves Refund of an Active Loan by Transfer TemplateExample Requests :    accounttransfers/templateRefundByTransfer?fromAccountId=2&fromAccountType=1& toAccountId=1&toAccountType=2&toClientId=1&toOfficeId=1
     * @summary Retrieve Refund of an Active Loan by Transfer Template
     * @param {number} [fromOfficeId] fromOfficeId
     * @param {number} [fromClientId] fromClientId
     * @param {number} [fromAccountId] fromAccountId
     * @param {number} [fromAccountType] fromAccountType
     * @param {number} [toOfficeId] toOfficeId
     * @param {number} [toClientId] toClientId
     * @param {number} [toAccountId] toAccountId
     * @param {number} [toAccountType] toAccountType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateRefundByTransfer(fromOfficeId?: number, fromClientId?: number, fromAccountId?: number, fromAccountType?: number, toOfficeId?: number, toClientId?: number, toAccountId?: number, toAccountType?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetAccountTransfersTemplateRefundByTransferResponse>>;
    /**
     * Ability to refund an active loan by transferring to a savings account.
     * @summary Refund of an Active Loan by Transfer
     * @param {PostAccountTransfersRefundByTransferRequest} postAccountTransfersRefundByTransferRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateRefundByTransferPost(postAccountTransfersRefundByTransferRequest: PostAccountTransfersRefundByTransferRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostAccountTransfersRefundByTransferResponse>>;
};
/**
 * AccountTransfersApi - factory interface
 * @export
 */
export declare const AccountTransfersApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Ability to create new transfer of monetary funds from one account to another.
     * @summary Create new Transfer
     * @param {PostAccountTransfersRequest} postAccountTransfersRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    create4(postAccountTransfersRequest: PostAccountTransfersRequest, options?: any): AxiosPromise<PostAccountTransfersResponse>;
    /**
     * Lists account\'s transfers  Example Requests:    accounttransfers
     * @summary List account transfers
     * @param {string} [sqlSearch] sqlSearch
     * @param {string} [externalId] externalId
     * @param {number} [offset] offset
     * @param {number} [limit]
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {number} [accountDetailId] accountDetailId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAll18(sqlSearch?: string, externalId?: string, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, accountDetailId?: number, options?: any): AxiosPromise<GetAccountTransfersResponse>;
    /**
     * Retrieves account transfer  Example Requests :    accounttransfers/1
     * @summary Retrieve account transfer
     * @param {number} transferId transferId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveOne9(transferId: number, options?: any): AxiosPromise<GetAccountTransfersPageItems>;
    /**
     * 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 Requests:    accounttransfers/template?fromAccountType=2&fromOfficeId=1    accounttransfers/template?fromAccountType=2&fromOfficeId=1&fromClientId=1    accounttransfers/template?fromClientId=1&fromAccountType=2&fromAccountId=1
     * @summary Retrieve Account Transfer Template
     * @param {number} [fromOfficeId] fromOfficeId
     * @param {number} [fromClientId] fromClientId
     * @param {number} [fromAccountId] fromAccountId
     * @param {number} [fromAccountType] fromAccountType
     * @param {number} [toOfficeId] toOfficeId
     * @param {number} [toClientId] toClientId
     * @param {number} [toAccountId] toAccountId
     * @param {number} [toAccountType] toAccountType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template5(fromOfficeId?: number, fromClientId?: number, fromAccountId?: number, fromAccountType?: number, toOfficeId?: number, toClientId?: number, toAccountId?: number, toAccountType?: number, options?: any): AxiosPromise<GetAccountTransfersTemplateResponse>;
    /**
     * Retrieves Refund of an Active Loan by Transfer TemplateExample Requests :    accounttransfers/templateRefundByTransfer?fromAccountId=2&fromAccountType=1& toAccountId=1&toAccountType=2&toClientId=1&toOfficeId=1
     * @summary Retrieve Refund of an Active Loan by Transfer Template
     * @param {number} [fromOfficeId] fromOfficeId
     * @param {number} [fromClientId] fromClientId
     * @param {number} [fromAccountId] fromAccountId
     * @param {number} [fromAccountType] fromAccountType
     * @param {number} [toOfficeId] toOfficeId
     * @param {number} [toClientId] toClientId
     * @param {number} [toAccountId] toAccountId
     * @param {number} [toAccountType] toAccountType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateRefundByTransfer(fromOfficeId?: number, fromClientId?: number, fromAccountId?: number, fromAccountType?: number, toOfficeId?: number, toClientId?: number, toAccountId?: number, toAccountType?: number, options?: any): AxiosPromise<GetAccountTransfersTemplateRefundByTransferResponse>;
    /**
     * Ability to refund an active loan by transferring to a savings account.
     * @summary Refund of an Active Loan by Transfer
     * @param {PostAccountTransfersRefundByTransferRequest} postAccountTransfersRefundByTransferRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateRefundByTransferPost(postAccountTransfersRefundByTransferRequest: PostAccountTransfersRefundByTransferRequest, options?: any): AxiosPromise<PostAccountTransfersRefundByTransferResponse>;
};
/**
 * AccountTransfersApi - object-oriented interface
 * @export
 * @class AccountTransfersApi
 * @extends {BaseAPI}
 */
export declare class AccountTransfersApi extends BaseAPI {
    /**
     * Ability to create new transfer of monetary funds from one account to another.
     * @summary Create new Transfer
     * @param {PostAccountTransfersRequest} postAccountTransfersRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountTransfersApi
     */
    create4(postAccountTransfersRequest: PostAccountTransfersRequest, options?: any): Promise<import("axios").AxiosResponse<PostAccountTransfersResponse>>;
    /**
     * Lists account\'s transfers  Example Requests:    accounttransfers
     * @summary List account transfers
     * @param {string} [sqlSearch] sqlSearch
     * @param {string} [externalId] externalId
     * @param {number} [offset] offset
     * @param {number} [limit]
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {number} [accountDetailId] accountDetailId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountTransfersApi
     */
    retrieveAll18(sqlSearch?: string, externalId?: string, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, accountDetailId?: number, options?: any): Promise<import("axios").AxiosResponse<GetAccountTransfersResponse>>;
    /**
     * Retrieves account transfer  Example Requests :    accounttransfers/1
     * @summary Retrieve account transfer
     * @param {number} transferId transferId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountTransfersApi
     */
    retrieveOne9(transferId: number, options?: any): Promise<import("axios").AxiosResponse<GetAccountTransfersPageItems>>;
    /**
     * 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 Requests:    accounttransfers/template?fromAccountType=2&fromOfficeId=1    accounttransfers/template?fromAccountType=2&fromOfficeId=1&fromClientId=1    accounttransfers/template?fromClientId=1&fromAccountType=2&fromAccountId=1
     * @summary Retrieve Account Transfer Template
     * @param {number} [fromOfficeId] fromOfficeId
     * @param {number} [fromClientId] fromClientId
     * @param {number} [fromAccountId] fromAccountId
     * @param {number} [fromAccountType] fromAccountType
     * @param {number} [toOfficeId] toOfficeId
     * @param {number} [toClientId] toClientId
     * @param {number} [toAccountId] toAccountId
     * @param {number} [toAccountType] toAccountType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountTransfersApi
     */
    template5(fromOfficeId?: number, fromClientId?: number, fromAccountId?: number, fromAccountType?: number, toOfficeId?: number, toClientId?: number, toAccountId?: number, toAccountType?: number, options?: any): Promise<import("axios").AxiosResponse<GetAccountTransfersTemplateResponse>>;
    /**
     * Retrieves Refund of an Active Loan by Transfer TemplateExample Requests :    accounttransfers/templateRefundByTransfer?fromAccountId=2&fromAccountType=1& toAccountId=1&toAccountType=2&toClientId=1&toOfficeId=1
     * @summary Retrieve Refund of an Active Loan by Transfer Template
     * @param {number} [fromOfficeId] fromOfficeId
     * @param {number} [fromClientId] fromClientId
     * @param {number} [fromAccountId] fromAccountId
     * @param {number} [fromAccountType] fromAccountType
     * @param {number} [toOfficeId] toOfficeId
     * @param {number} [toClientId] toClientId
     * @param {number} [toAccountId] toAccountId
     * @param {number} [toAccountType] toAccountType
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountTransfersApi
     */
    templateRefundByTransfer(fromOfficeId?: number, fromClientId?: number, fromAccountId?: number, fromAccountType?: number, toOfficeId?: number, toClientId?: number, toAccountId?: number, toAccountType?: number, options?: any): Promise<import("axios").AxiosResponse<GetAccountTransfersTemplateRefundByTransferResponse>>;
    /**
     * Ability to refund an active loan by transferring to a savings account.
     * @summary Refund of an Active Loan by Transfer
     * @param {PostAccountTransfersRefundByTransferRequest} postAccountTransfersRefundByTransferRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountTransfersApi
     */
    templateRefundByTransferPost(postAccountTransfersRefundByTransferRequest: PostAccountTransfersRefundByTransferRequest, options?: any): Promise<import("axios").AxiosResponse<PostAccountTransfersRefundByTransferResponse>>;
}
