/**
 * 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 { DeleteSelfBeneficiariesTPTBeneficiaryIdResponse } from '../models';
import { GetSelfBeneficiariesTPTResponse } from '../models';
import { GetSelfBeneficiariesTPTTemplateResponse } from '../models';
import { PostSelfBeneficiariesTPTRequest } from '../models';
import { PostSelfBeneficiariesTPTResponse } from '../models';
import { PutSelfBeneficiariesTPTBeneficiaryIdRequest } from '../models';
import { PutSelfBeneficiariesTPTBeneficiaryIdResponse } from '../models';
/**
 * SelfThirdPartyTransferApi - axios parameter creator
 * @export
 */
export declare const SelfThirdPartyTransferApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Api to add third party beneficiary linked to current user.  Parameter Definitions  name : Nick name for beneficiary, should be unique for an self service user  officeName : Office Name of beneficiary(not id)  accountNumber : Account Number of beneficiary(not id)  transferLimit : Each transfer initiated to this account will not exceed this amount  Example Requests:  /self/beneficiaries/tpt  Mandatory Fields: name, officeName, accountNumber, accountType  Optional Fields: transferLimit
     * @summary Add TPT Beneficiary
     * @param {PostSelfBeneficiariesTPTRequest} postSelfBeneficiariesTPTRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    add: (postSelfBeneficiariesTPTRequest: PostSelfBeneficiariesTPTRequest, options?: any) => Promise<RequestArgs>;
    /**
     * Api to delete third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt/{beneficiaryId}
     * @summary Delete TPT Beneficiary
     * @param {number} beneficiaryId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    delete20: (beneficiaryId: number, options?: any) => Promise<RequestArgs>;
    /**
     * Api to get all third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt
     * @summary Get All TPT Beneficiary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAll35: (options?: any) => Promise<RequestArgs>;
    /**
     * Returns Account Type enumerations. Self User is expected to know office name and account number to be able to add beneficiary.  Example Requests:  /self/beneficiaries/tpt/template
     * @summary Beneficiary Third Party Transfer Template
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template16: (options?: any) => Promise<RequestArgs>;
    /**
     * Api to update third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt/{beneficiaryId}  Optional Fields: name, transferLimit
     * @summary Update TPT Beneficiary
     * @param {number} beneficiaryId beneficiaryId
     * @param {PutSelfBeneficiariesTPTBeneficiaryIdRequest} putSelfBeneficiariesTPTBeneficiaryIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    update21: (beneficiaryId: number, putSelfBeneficiariesTPTBeneficiaryIdRequest: PutSelfBeneficiariesTPTBeneficiaryIdRequest, options?: any) => Promise<RequestArgs>;
};
/**
 * SelfThirdPartyTransferApi - functional programming interface
 * @export
 */
export declare const SelfThirdPartyTransferApiFp: (configuration?: Configuration) => {
    /**
     * Api to add third party beneficiary linked to current user.  Parameter Definitions  name : Nick name for beneficiary, should be unique for an self service user  officeName : Office Name of beneficiary(not id)  accountNumber : Account Number of beneficiary(not id)  transferLimit : Each transfer initiated to this account will not exceed this amount  Example Requests:  /self/beneficiaries/tpt  Mandatory Fields: name, officeName, accountNumber, accountType  Optional Fields: transferLimit
     * @summary Add TPT Beneficiary
     * @param {PostSelfBeneficiariesTPTRequest} postSelfBeneficiariesTPTRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    add(postSelfBeneficiariesTPTRequest: PostSelfBeneficiariesTPTRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostSelfBeneficiariesTPTResponse>>;
    /**
     * Api to delete third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt/{beneficiaryId}
     * @summary Delete TPT Beneficiary
     * @param {number} beneficiaryId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    delete20(beneficiaryId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteSelfBeneficiariesTPTBeneficiaryIdResponse>>;
    /**
     * Api to get all third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt
     * @summary Get All TPT Beneficiary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAll35(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<GetSelfBeneficiariesTPTResponse>>>;
    /**
     * Returns Account Type enumerations. Self User is expected to know office name and account number to be able to add beneficiary.  Example Requests:  /self/beneficiaries/tpt/template
     * @summary Beneficiary Third Party Transfer Template
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template16(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSelfBeneficiariesTPTTemplateResponse>>;
    /**
     * Api to update third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt/{beneficiaryId}  Optional Fields: name, transferLimit
     * @summary Update TPT Beneficiary
     * @param {number} beneficiaryId beneficiaryId
     * @param {PutSelfBeneficiariesTPTBeneficiaryIdRequest} putSelfBeneficiariesTPTBeneficiaryIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    update21(beneficiaryId: number, putSelfBeneficiariesTPTBeneficiaryIdRequest: PutSelfBeneficiariesTPTBeneficiaryIdRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PutSelfBeneficiariesTPTBeneficiaryIdResponse>>;
};
/**
 * SelfThirdPartyTransferApi - factory interface
 * @export
 */
export declare const SelfThirdPartyTransferApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Api to add third party beneficiary linked to current user.  Parameter Definitions  name : Nick name for beneficiary, should be unique for an self service user  officeName : Office Name of beneficiary(not id)  accountNumber : Account Number of beneficiary(not id)  transferLimit : Each transfer initiated to this account will not exceed this amount  Example Requests:  /self/beneficiaries/tpt  Mandatory Fields: name, officeName, accountNumber, accountType  Optional Fields: transferLimit
     * @summary Add TPT Beneficiary
     * @param {PostSelfBeneficiariesTPTRequest} postSelfBeneficiariesTPTRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    add(postSelfBeneficiariesTPTRequest: PostSelfBeneficiariesTPTRequest, options?: any): AxiosPromise<PostSelfBeneficiariesTPTResponse>;
    /**
     * Api to delete third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt/{beneficiaryId}
     * @summary Delete TPT Beneficiary
     * @param {number} beneficiaryId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    delete20(beneficiaryId: number, options?: any): AxiosPromise<DeleteSelfBeneficiariesTPTBeneficiaryIdResponse>;
    /**
     * Api to get all third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt
     * @summary Get All TPT Beneficiary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAll35(options?: any): AxiosPromise<Array<GetSelfBeneficiariesTPTResponse>>;
    /**
     * Returns Account Type enumerations. Self User is expected to know office name and account number to be able to add beneficiary.  Example Requests:  /self/beneficiaries/tpt/template
     * @summary Beneficiary Third Party Transfer Template
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template16(options?: any): AxiosPromise<GetSelfBeneficiariesTPTTemplateResponse>;
    /**
     * Api to update third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt/{beneficiaryId}  Optional Fields: name, transferLimit
     * @summary Update TPT Beneficiary
     * @param {number} beneficiaryId beneficiaryId
     * @param {PutSelfBeneficiariesTPTBeneficiaryIdRequest} putSelfBeneficiariesTPTBeneficiaryIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    update21(beneficiaryId: number, putSelfBeneficiariesTPTBeneficiaryIdRequest: PutSelfBeneficiariesTPTBeneficiaryIdRequest, options?: any): AxiosPromise<PutSelfBeneficiariesTPTBeneficiaryIdResponse>;
};
/**
 * SelfThirdPartyTransferApi - object-oriented interface
 * @export
 * @class SelfThirdPartyTransferApi
 * @extends {BaseAPI}
 */
export declare class SelfThirdPartyTransferApi extends BaseAPI {
    /**
     * Api to add third party beneficiary linked to current user.  Parameter Definitions  name : Nick name for beneficiary, should be unique for an self service user  officeName : Office Name of beneficiary(not id)  accountNumber : Account Number of beneficiary(not id)  transferLimit : Each transfer initiated to this account will not exceed this amount  Example Requests:  /self/beneficiaries/tpt  Mandatory Fields: name, officeName, accountNumber, accountType  Optional Fields: transferLimit
     * @summary Add TPT Beneficiary
     * @param {PostSelfBeneficiariesTPTRequest} postSelfBeneficiariesTPTRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfThirdPartyTransferApi
     */
    add(postSelfBeneficiariesTPTRequest: PostSelfBeneficiariesTPTRequest, options?: any): Promise<import("axios").AxiosResponse<PostSelfBeneficiariesTPTResponse>>;
    /**
     * Api to delete third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt/{beneficiaryId}
     * @summary Delete TPT Beneficiary
     * @param {number} beneficiaryId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfThirdPartyTransferApi
     */
    delete20(beneficiaryId: number, options?: any): Promise<import("axios").AxiosResponse<DeleteSelfBeneficiariesTPTBeneficiaryIdResponse>>;
    /**
     * Api to get all third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt
     * @summary Get All TPT Beneficiary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfThirdPartyTransferApi
     */
    retrieveAll35(options?: any): Promise<import("axios").AxiosResponse<GetSelfBeneficiariesTPTResponse[]>>;
    /**
     * Returns Account Type enumerations. Self User is expected to know office name and account number to be able to add beneficiary.  Example Requests:  /self/beneficiaries/tpt/template
     * @summary Beneficiary Third Party Transfer Template
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfThirdPartyTransferApi
     */
    template16(options?: any): Promise<import("axios").AxiosResponse<GetSelfBeneficiariesTPTTemplateResponse>>;
    /**
     * Api to update third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt/{beneficiaryId}  Optional Fields: name, transferLimit
     * @summary Update TPT Beneficiary
     * @param {number} beneficiaryId beneficiaryId
     * @param {PutSelfBeneficiariesTPTBeneficiaryIdRequest} putSelfBeneficiariesTPTBeneficiaryIdRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfThirdPartyTransferApi
     */
    update21(beneficiaryId: number, putSelfBeneficiariesTPTBeneficiaryIdRequest: PutSelfBeneficiariesTPTBeneficiaryIdRequest, options?: any): Promise<import("axios").AxiosResponse<PutSelfBeneficiariesTPTBeneficiaryIdResponse>>;
}
