/**
 * 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 { DeleteGLAccountsRequest } from '../models';
import { FormDataContentDisposition } from '../models';
import { GetGLAccountsResponse } from '../models';
import { GetGLAccountsTemplateResponse } from '../models';
import { PostGLAccountsRequest } from '../models';
import { PostGLAccountsResponse } from '../models';
import { PutGLAccountsRequest } from '../models';
import { PutGLAccountsResponse } from '../models';
/**
 * GeneralLedgerAccountApi - axios parameter creator
 * @export
 */
export declare const GeneralLedgerAccountApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Note: You may optionally create Hierarchical Chart of Accounts by using the \"parentId\" property of an Account Mandatory Fields:  name, glCode, type, usage and manualEntriesAllowed
     * @summary Create a General Ledger Account
     * @param {PostGLAccountsRequest} [postGLAccountsRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createGLAccount1: (postGLAccountsRequest?: PostGLAccountsRequest, options?: any) => Promise<RequestArgs>;
    /**
     * Note: Only the latest accounting closure associated with a branch may be deleted.
     * @summary Delete an accounting closure
     * @param {number} glAccountId glAccountId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteGLAccount1: (glAccountId: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getGlAccountsTemplate: (dateFormat?: string, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {FormDataContentDisposition} [file]
     * @param {string} [locale]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    postGlAccountsTemplate: (file?: any, locale?: string, dateFormat?: string, options?: any) => Promise<RequestArgs>;
    /**
     * Example Requests:  glaccounts/1   glaccounts/1?template=true   glaccounts/1?fields=name,glCode   glaccounts/1?fetchRunningBalance=true
     * @summary Retrieve a General Ledger Account
     * @param {number} glAccountId glAccountId
     * @param {boolean} [fetchRunningBalance] fetchRunningBalance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retreiveAccount: (glAccountId: number, fetchRunningBalance?: boolean, options?: any) => Promise<RequestArgs>;
    /**
     * ARGUMENTS type Integer optional manualEntriesAllowed boolean optional usage Integer optional disabled boolean optional parentId Long optional tagId Long optional Example Requests:  glaccounts   glaccounts?type=1&manualEntriesAllowed=true&usage=1&disabled=false  glaccounts?fetchRunningBalance=true
     * @summary List General Ledger Accounts
     * @param {number} [type] type
     * @param {string} [searchParam] searchParam
     * @param {number} [usage] usage
     * @param {boolean} [manualEntriesAllowed] manualEntriesAllowed
     * @param {boolean} [disabled] disabled
     * @param {boolean} [fetchRunningBalance] fetchRunningBalance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllAccounts: (type?: number, searchParam?: string, usage?: number, manualEntriesAllowed?: boolean, disabled?: boolean, fetchRunningBalance?: boolean, 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:  glaccounts/template glaccounts/template?type=1  type is optional and integer value from 1 to 5.  1.Assets  2.Liabilities  3.Equity  4.Income  5.Expenses
     * @summary Retrieve GL Accounts Template
     * @param {number} [type] type
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveNewAccountDetails: (type?: number, options?: any) => Promise<RequestArgs>;
    /**
     * Once an accounting closure is created, only the comments associated with it may be edited
     * @summary Update an Accounting closure
     * @param {number} glAccountId glAccountId
     * @param {PutGLAccountsRequest} [putGLAccountsRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateGLAccount1: (glAccountId: number, putGLAccountsRequest?: PutGLAccountsRequest, options?: any) => Promise<RequestArgs>;
};
/**
 * GeneralLedgerAccountApi - functional programming interface
 * @export
 */
export declare const GeneralLedgerAccountApiFp: (configuration?: Configuration) => {
    /**
     * Note: You may optionally create Hierarchical Chart of Accounts by using the \"parentId\" property of an Account Mandatory Fields:  name, glCode, type, usage and manualEntriesAllowed
     * @summary Create a General Ledger Account
     * @param {PostGLAccountsRequest} [postGLAccountsRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createGLAccount1(postGLAccountsRequest?: PostGLAccountsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostGLAccountsResponse>>;
    /**
     * Note: Only the latest accounting closure associated with a branch may be deleted.
     * @summary Delete an accounting closure
     * @param {number} glAccountId glAccountId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteGLAccount1(glAccountId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteGLAccountsRequest>>;
    /**
     *
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getGlAccountsTemplate(dateFormat?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @param {FormDataContentDisposition} [file]
     * @param {string} [locale]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    postGlAccountsTemplate(file?: any, locale?: string, dateFormat?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
    /**
     * Example Requests:  glaccounts/1   glaccounts/1?template=true   glaccounts/1?fields=name,glCode   glaccounts/1?fetchRunningBalance=true
     * @summary Retrieve a General Ledger Account
     * @param {number} glAccountId glAccountId
     * @param {boolean} [fetchRunningBalance] fetchRunningBalance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retreiveAccount(glAccountId: number, fetchRunningBalance?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetGLAccountsResponse>>;
    /**
     * ARGUMENTS type Integer optional manualEntriesAllowed boolean optional usage Integer optional disabled boolean optional parentId Long optional tagId Long optional Example Requests:  glaccounts   glaccounts?type=1&manualEntriesAllowed=true&usage=1&disabled=false  glaccounts?fetchRunningBalance=true
     * @summary List General Ledger Accounts
     * @param {number} [type] type
     * @param {string} [searchParam] searchParam
     * @param {number} [usage] usage
     * @param {boolean} [manualEntriesAllowed] manualEntriesAllowed
     * @param {boolean} [disabled] disabled
     * @param {boolean} [fetchRunningBalance] fetchRunningBalance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllAccounts(type?: number, searchParam?: string, usage?: number, manualEntriesAllowed?: boolean, disabled?: boolean, fetchRunningBalance?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<GetGLAccountsResponse>>>;
    /**
     * 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:  glaccounts/template glaccounts/template?type=1  type is optional and integer value from 1 to 5.  1.Assets  2.Liabilities  3.Equity  4.Income  5.Expenses
     * @summary Retrieve GL Accounts Template
     * @param {number} [type] type
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveNewAccountDetails(type?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetGLAccountsTemplateResponse>>;
    /**
     * Once an accounting closure is created, only the comments associated with it may be edited
     * @summary Update an Accounting closure
     * @param {number} glAccountId glAccountId
     * @param {PutGLAccountsRequest} [putGLAccountsRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateGLAccount1(glAccountId: number, putGLAccountsRequest?: PutGLAccountsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PutGLAccountsResponse>>;
};
/**
 * GeneralLedgerAccountApi - factory interface
 * @export
 */
export declare const GeneralLedgerAccountApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Note: You may optionally create Hierarchical Chart of Accounts by using the \"parentId\" property of an Account Mandatory Fields:  name, glCode, type, usage and manualEntriesAllowed
     * @summary Create a General Ledger Account
     * @param {PostGLAccountsRequest} [postGLAccountsRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createGLAccount1(postGLAccountsRequest?: PostGLAccountsRequest, options?: any): AxiosPromise<PostGLAccountsResponse>;
    /**
     * Note: Only the latest accounting closure associated with a branch may be deleted.
     * @summary Delete an accounting closure
     * @param {number} glAccountId glAccountId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteGLAccount1(glAccountId: number, options?: any): AxiosPromise<DeleteGLAccountsRequest>;
    /**
     *
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getGlAccountsTemplate(dateFormat?: string, options?: any): AxiosPromise<void>;
    /**
     *
     * @param {FormDataContentDisposition} [file]
     * @param {string} [locale]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    postGlAccountsTemplate(file?: any, locale?: string, dateFormat?: string, options?: any): AxiosPromise<string>;
    /**
     * Example Requests:  glaccounts/1   glaccounts/1?template=true   glaccounts/1?fields=name,glCode   glaccounts/1?fetchRunningBalance=true
     * @summary Retrieve a General Ledger Account
     * @param {number} glAccountId glAccountId
     * @param {boolean} [fetchRunningBalance] fetchRunningBalance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retreiveAccount(glAccountId: number, fetchRunningBalance?: boolean, options?: any): AxiosPromise<GetGLAccountsResponse>;
    /**
     * ARGUMENTS type Integer optional manualEntriesAllowed boolean optional usage Integer optional disabled boolean optional parentId Long optional tagId Long optional Example Requests:  glaccounts   glaccounts?type=1&manualEntriesAllowed=true&usage=1&disabled=false  glaccounts?fetchRunningBalance=true
     * @summary List General Ledger Accounts
     * @param {number} [type] type
     * @param {string} [searchParam] searchParam
     * @param {number} [usage] usage
     * @param {boolean} [manualEntriesAllowed] manualEntriesAllowed
     * @param {boolean} [disabled] disabled
     * @param {boolean} [fetchRunningBalance] fetchRunningBalance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllAccounts(type?: number, searchParam?: string, usage?: number, manualEntriesAllowed?: boolean, disabled?: boolean, fetchRunningBalance?: boolean, options?: any): AxiosPromise<Array<GetGLAccountsResponse>>;
    /**
     * 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:  glaccounts/template glaccounts/template?type=1  type is optional and integer value from 1 to 5.  1.Assets  2.Liabilities  3.Equity  4.Income  5.Expenses
     * @summary Retrieve GL Accounts Template
     * @param {number} [type] type
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveNewAccountDetails(type?: number, options?: any): AxiosPromise<GetGLAccountsTemplateResponse>;
    /**
     * Once an accounting closure is created, only the comments associated with it may be edited
     * @summary Update an Accounting closure
     * @param {number} glAccountId glAccountId
     * @param {PutGLAccountsRequest} [putGLAccountsRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateGLAccount1(glAccountId: number, putGLAccountsRequest?: PutGLAccountsRequest, options?: any): AxiosPromise<PutGLAccountsResponse>;
};
/**
 * GeneralLedgerAccountApi - object-oriented interface
 * @export
 * @class GeneralLedgerAccountApi
 * @extends {BaseAPI}
 */
export declare class GeneralLedgerAccountApi extends BaseAPI {
    /**
     * Note: You may optionally create Hierarchical Chart of Accounts by using the \"parentId\" property of an Account Mandatory Fields:  name, glCode, type, usage and manualEntriesAllowed
     * @summary Create a General Ledger Account
     * @param {PostGLAccountsRequest} [postGLAccountsRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    createGLAccount1(postGLAccountsRequest?: PostGLAccountsRequest, options?: any): Promise<import("axios").AxiosResponse<PostGLAccountsResponse>>;
    /**
     * Note: Only the latest accounting closure associated with a branch may be deleted.
     * @summary Delete an accounting closure
     * @param {number} glAccountId glAccountId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    deleteGLAccount1(glAccountId: number, options?: any): Promise<import("axios").AxiosResponse<DeleteGLAccountsRequest>>;
    /**
     *
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    getGlAccountsTemplate(dateFormat?: string, options?: any): Promise<import("axios").AxiosResponse<void>>;
    /**
     *
     * @param {FormDataContentDisposition} [file]
     * @param {string} [locale]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    postGlAccountsTemplate(file?: FormDataContentDisposition, locale?: string, dateFormat?: string, options?: any): Promise<import("axios").AxiosResponse<string>>;
    /**
     * Example Requests:  glaccounts/1   glaccounts/1?template=true   glaccounts/1?fields=name,glCode   glaccounts/1?fetchRunningBalance=true
     * @summary Retrieve a General Ledger Account
     * @param {number} glAccountId glAccountId
     * @param {boolean} [fetchRunningBalance] fetchRunningBalance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    retreiveAccount(glAccountId: number, fetchRunningBalance?: boolean, options?: any): Promise<import("axios").AxiosResponse<GetGLAccountsResponse>>;
    /**
     * ARGUMENTS type Integer optional manualEntriesAllowed boolean optional usage Integer optional disabled boolean optional parentId Long optional tagId Long optional Example Requests:  glaccounts   glaccounts?type=1&manualEntriesAllowed=true&usage=1&disabled=false  glaccounts?fetchRunningBalance=true
     * @summary List General Ledger Accounts
     * @param {number} [type] type
     * @param {string} [searchParam] searchParam
     * @param {number} [usage] usage
     * @param {boolean} [manualEntriesAllowed] manualEntriesAllowed
     * @param {boolean} [disabled] disabled
     * @param {boolean} [fetchRunningBalance] fetchRunningBalance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    retrieveAllAccounts(type?: number, searchParam?: string, usage?: number, manualEntriesAllowed?: boolean, disabled?: boolean, fetchRunningBalance?: boolean, options?: any): Promise<import("axios").AxiosResponse<GetGLAccountsResponse[]>>;
    /**
     * 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:  glaccounts/template glaccounts/template?type=1  type is optional and integer value from 1 to 5.  1.Assets  2.Liabilities  3.Equity  4.Income  5.Expenses
     * @summary Retrieve GL Accounts Template
     * @param {number} [type] type
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    retrieveNewAccountDetails(type?: number, options?: any): Promise<import("axios").AxiosResponse<GetGLAccountsTemplateResponse>>;
    /**
     * Once an accounting closure is created, only the comments associated with it may be edited
     * @summary Update an Accounting closure
     * @param {number} glAccountId glAccountId
     * @param {PutGLAccountsRequest} [putGLAccountsRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof GeneralLedgerAccountApi
     */
    updateGLAccount1(glAccountId: number, putGLAccountsRequest?: PutGLAccountsRequest, options?: any): Promise<import("axios").AxiosResponse<PutGLAccountsResponse>>;
}
