/**
 * 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 { GetSelfSavingsAccountsAccountIdChargesResponse } from '../models';
import { GetSelfSavingsAccountsAccountIdChargesSavingsAccountChargeIdResponse } from '../models';
import { GetSelfSavingsAccountsAccountIdTransactionsTransactionIdResponse } from '../models';
import { GetSelfSavingsAccountsResponse } from '../models';
/**
 * SelfSavingsAccountApi - axios parameter creator
 * @export
 */
export declare const SelfSavingsAccountApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @param {number} accountId
     * @param {string} [command]
     * @param {string} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    modifySavingsAccountApplication: (accountId: number, command?: string, body?: string, options?: any) => Promise<RequestArgs>;
    /**
     * Lists Savings Charges  Example Requests:  self/savingsaccounts/1/charges  self/savingsaccounts/1/charges?chargeStatus=inactive  self/savingsaccounts/1/charges?fields=name,amountOrPercentage
     * @summary List Savings Charges
     * @param {number} accountId accountId
     * @param {string} [chargeStatus] chargeStatus
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllSavingsAccountCharges1: (accountId: number, chargeStatus?: string, options?: any) => Promise<RequestArgs>;
    /**
     * Retrieves a savings account  Example Requests :  self/savingsaccounts/1   self/savingsaccounts/1?associations=transactions
     * @summary Retrieve a savings account
     * @param {number} accountId accountId
     * @param {string} [chargeStatus] chargeStatus
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveSavings: (accountId: number, chargeStatus?: string, options?: any) => Promise<RequestArgs>;
    /**
     * Retrieves a Savings account Charge  Example Requests:  self/savingsaccounts/1/charges/5   self/savingsaccounts/1/charges/5?fields=name,amountOrPercentage
     * @summary Retrieve a Savings account Charge
     * @param {number} accountId accountId
     * @param {number} savingsAccountChargeId savingsAccountChargeId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveSavingsAccountCharge1: (accountId: number, savingsAccountChargeId: number, options?: any) => Promise<RequestArgs>;
    /**
     * Retrieves Savings Account Transaction  Example Requests:  self/savingsaccounts/1/transactions/1
     * @summary Retrieve Savings Account Transaction
     * @param {number} accountId accountId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveSavingsTransaction: (accountId: number, transactionId: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} [command]
     * @param {string} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    submitSavingsAccountApplication: (command?: string, body?: string, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {number} [clientId]
     * @param {number} [productId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template18: (clientId?: number, productId?: number, options?: any) => Promise<RequestArgs>;
};
/**
 * SelfSavingsAccountApi - functional programming interface
 * @export
 */
export declare const SelfSavingsAccountApiFp: (configuration?: Configuration) => {
    /**
     *
     * @param {number} accountId
     * @param {string} [command]
     * @param {string} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    modifySavingsAccountApplication(accountId: number, command?: string, body?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
    /**
     * Lists Savings Charges  Example Requests:  self/savingsaccounts/1/charges  self/savingsaccounts/1/charges?chargeStatus=inactive  self/savingsaccounts/1/charges?fields=name,amountOrPercentage
     * @summary List Savings Charges
     * @param {number} accountId accountId
     * @param {string} [chargeStatus] chargeStatus
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllSavingsAccountCharges1(accountId: number, chargeStatus?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<GetSelfSavingsAccountsAccountIdChargesResponse>>>;
    /**
     * Retrieves a savings account  Example Requests :  self/savingsaccounts/1   self/savingsaccounts/1?associations=transactions
     * @summary Retrieve a savings account
     * @param {number} accountId accountId
     * @param {string} [chargeStatus] chargeStatus
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveSavings(accountId: number, chargeStatus?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSelfSavingsAccountsResponse>>;
    /**
     * Retrieves a Savings account Charge  Example Requests:  self/savingsaccounts/1/charges/5   self/savingsaccounts/1/charges/5?fields=name,amountOrPercentage
     * @summary Retrieve a Savings account Charge
     * @param {number} accountId accountId
     * @param {number} savingsAccountChargeId savingsAccountChargeId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveSavingsAccountCharge1(accountId: number, savingsAccountChargeId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSelfSavingsAccountsAccountIdChargesSavingsAccountChargeIdResponse>>;
    /**
     * Retrieves Savings Account Transaction  Example Requests:  self/savingsaccounts/1/transactions/1
     * @summary Retrieve Savings Account Transaction
     * @param {number} accountId accountId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveSavingsTransaction(accountId: number, transactionId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSelfSavingsAccountsAccountIdTransactionsTransactionIdResponse>>;
    /**
     *
     * @param {string} [command]
     * @param {string} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    submitSavingsAccountApplication(command?: string, body?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
    /**
     *
     * @param {number} [clientId]
     * @param {number} [productId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template18(clientId?: number, productId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
};
/**
 * SelfSavingsAccountApi - factory interface
 * @export
 */
export declare const SelfSavingsAccountApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @param {number} accountId
     * @param {string} [command]
     * @param {string} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    modifySavingsAccountApplication(accountId: number, command?: string, body?: string, options?: any): AxiosPromise<string>;
    /**
     * Lists Savings Charges  Example Requests:  self/savingsaccounts/1/charges  self/savingsaccounts/1/charges?chargeStatus=inactive  self/savingsaccounts/1/charges?fields=name,amountOrPercentage
     * @summary List Savings Charges
     * @param {number} accountId accountId
     * @param {string} [chargeStatus] chargeStatus
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllSavingsAccountCharges1(accountId: number, chargeStatus?: string, options?: any): AxiosPromise<Array<GetSelfSavingsAccountsAccountIdChargesResponse>>;
    /**
     * Retrieves a savings account  Example Requests :  self/savingsaccounts/1   self/savingsaccounts/1?associations=transactions
     * @summary Retrieve a savings account
     * @param {number} accountId accountId
     * @param {string} [chargeStatus] chargeStatus
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveSavings(accountId: number, chargeStatus?: string, options?: any): AxiosPromise<GetSelfSavingsAccountsResponse>;
    /**
     * Retrieves a Savings account Charge  Example Requests:  self/savingsaccounts/1/charges/5   self/savingsaccounts/1/charges/5?fields=name,amountOrPercentage
     * @summary Retrieve a Savings account Charge
     * @param {number} accountId accountId
     * @param {number} savingsAccountChargeId savingsAccountChargeId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveSavingsAccountCharge1(accountId: number, savingsAccountChargeId: number, options?: any): AxiosPromise<GetSelfSavingsAccountsAccountIdChargesSavingsAccountChargeIdResponse>;
    /**
     * Retrieves Savings Account Transaction  Example Requests:  self/savingsaccounts/1/transactions/1
     * @summary Retrieve Savings Account Transaction
     * @param {number} accountId accountId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveSavingsTransaction(accountId: number, transactionId: number, options?: any): AxiosPromise<GetSelfSavingsAccountsAccountIdTransactionsTransactionIdResponse>;
    /**
     *
     * @param {string} [command]
     * @param {string} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    submitSavingsAccountApplication(command?: string, body?: string, options?: any): AxiosPromise<string>;
    /**
     *
     * @param {number} [clientId]
     * @param {number} [productId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    template18(clientId?: number, productId?: number, options?: any): AxiosPromise<string>;
};
/**
 * SelfSavingsAccountApi - object-oriented interface
 * @export
 * @class SelfSavingsAccountApi
 * @extends {BaseAPI}
 */
export declare class SelfSavingsAccountApi extends BaseAPI {
    /**
     *
     * @param {number} accountId
     * @param {string} [command]
     * @param {string} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfSavingsAccountApi
     */
    modifySavingsAccountApplication(accountId: number, command?: string, body?: string, options?: any): Promise<import("axios").AxiosResponse<string>>;
    /**
     * Lists Savings Charges  Example Requests:  self/savingsaccounts/1/charges  self/savingsaccounts/1/charges?chargeStatus=inactive  self/savingsaccounts/1/charges?fields=name,amountOrPercentage
     * @summary List Savings Charges
     * @param {number} accountId accountId
     * @param {string} [chargeStatus] chargeStatus
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfSavingsAccountApi
     */
    retrieveAllSavingsAccountCharges1(accountId: number, chargeStatus?: string, options?: any): Promise<import("axios").AxiosResponse<GetSelfSavingsAccountsAccountIdChargesResponse[]>>;
    /**
     * Retrieves a savings account  Example Requests :  self/savingsaccounts/1   self/savingsaccounts/1?associations=transactions
     * @summary Retrieve a savings account
     * @param {number} accountId accountId
     * @param {string} [chargeStatus] chargeStatus
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfSavingsAccountApi
     */
    retrieveSavings(accountId: number, chargeStatus?: string, options?: any): Promise<import("axios").AxiosResponse<GetSelfSavingsAccountsResponse>>;
    /**
     * Retrieves a Savings account Charge  Example Requests:  self/savingsaccounts/1/charges/5   self/savingsaccounts/1/charges/5?fields=name,amountOrPercentage
     * @summary Retrieve a Savings account Charge
     * @param {number} accountId accountId
     * @param {number} savingsAccountChargeId savingsAccountChargeId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfSavingsAccountApi
     */
    retrieveSavingsAccountCharge1(accountId: number, savingsAccountChargeId: number, options?: any): Promise<import("axios").AxiosResponse<GetSelfSavingsAccountsAccountIdChargesSavingsAccountChargeIdResponse>>;
    /**
     * Retrieves Savings Account Transaction  Example Requests:  self/savingsaccounts/1/transactions/1
     * @summary Retrieve Savings Account Transaction
     * @param {number} accountId accountId
     * @param {number} transactionId transactionId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfSavingsAccountApi
     */
    retrieveSavingsTransaction(accountId: number, transactionId: number, options?: any): Promise<import("axios").AxiosResponse<GetSelfSavingsAccountsAccountIdTransactionsTransactionIdResponse>>;
    /**
     *
     * @param {string} [command]
     * @param {string} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfSavingsAccountApi
     */
    submitSavingsAccountApplication(command?: string, body?: string, options?: any): Promise<import("axios").AxiosResponse<string>>;
    /**
     *
     * @param {number} [clientId]
     * @param {number} [productId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SelfSavingsAccountApi
     */
    template18(clientId?: number, productId?: number, options?: any): Promise<import("axios").AxiosResponse<string>>;
}
