/**
 * 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 { DeleteGlClosuresResponse } from '../models';
import { GetGlClosureResponse } from '../models';
import { PostGlClosuresRequest } from '../models';
import { PostGlClosuresResponse } from '../models';
import { PutGlClosuresRequest } from '../models';
import { PutGlClosuresResponse } from '../models';
/**
 * AccountingClosureApi - axios parameter creator
 * @export
 */
export declare const AccountingClosureApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Mandatory Fields officeId,closingDate
     * @summary Create an Accounting Closure
     * @param {PostGlClosuresRequest} postGlClosuresRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createGLClosure: (postGlClosuresRequest: PostGlClosuresRequest, options?: any) => Promise<RequestArgs>;
    /**
     * Note: Only the latest accounting closure associated with a branch may be deleted.
     * @summary Delete an accounting closure
     * @param {number} glClosureId glclosureId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteGLClosure: (glClosureId: number, options?: any) => Promise<RequestArgs>;
    /**
     * Example Requests:  glclosures/1   /glclosures/1?fields=officeName,closingDate
     * @summary Retrieve an Accounting Closure
     * @param {number} glClosureId glClosureId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retreiveClosure: (glClosureId: number, options?: any) => Promise<RequestArgs>;
    /**
     * Example Requests:  glclosures
     * @summary List Accounting closures
     * @param {number} [officeId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllClosures: (officeId?: 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} glClosureId glClosureId
     * @param {PutGlClosuresRequest} [putGlClosuresRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateGLClosure: (glClosureId: number, putGlClosuresRequest?: PutGlClosuresRequest, options?: any) => Promise<RequestArgs>;
};
/**
 * AccountingClosureApi - functional programming interface
 * @export
 */
export declare const AccountingClosureApiFp: (configuration?: Configuration) => {
    /**
     * Mandatory Fields officeId,closingDate
     * @summary Create an Accounting Closure
     * @param {PostGlClosuresRequest} postGlClosuresRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createGLClosure(postGlClosuresRequest: PostGlClosuresRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostGlClosuresResponse>>;
    /**
     * Note: Only the latest accounting closure associated with a branch may be deleted.
     * @summary Delete an accounting closure
     * @param {number} glClosureId glclosureId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteGLClosure(glClosureId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteGlClosuresResponse>>;
    /**
     * Example Requests:  glclosures/1   /glclosures/1?fields=officeName,closingDate
     * @summary Retrieve an Accounting Closure
     * @param {number} glClosureId glClosureId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retreiveClosure(glClosureId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetGlClosureResponse>>;
    /**
     * Example Requests:  glclosures
     * @summary List Accounting closures
     * @param {number} [officeId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllClosures(officeId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<GetGlClosureResponse>>>;
    /**
     * Once an accounting closure is created, only the comments associated with it may be edited
     * @summary Update an Accounting closure
     * @param {number} glClosureId glClosureId
     * @param {PutGlClosuresRequest} [putGlClosuresRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateGLClosure(glClosureId: number, putGlClosuresRequest?: PutGlClosuresRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PutGlClosuresResponse>>;
};
/**
 * AccountingClosureApi - factory interface
 * @export
 */
export declare const AccountingClosureApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Mandatory Fields officeId,closingDate
     * @summary Create an Accounting Closure
     * @param {PostGlClosuresRequest} postGlClosuresRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createGLClosure(postGlClosuresRequest: PostGlClosuresRequest, options?: any): AxiosPromise<PostGlClosuresResponse>;
    /**
     * Note: Only the latest accounting closure associated with a branch may be deleted.
     * @summary Delete an accounting closure
     * @param {number} glClosureId glclosureId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteGLClosure(glClosureId: number, options?: any): AxiosPromise<DeleteGlClosuresResponse>;
    /**
     * Example Requests:  glclosures/1   /glclosures/1?fields=officeName,closingDate
     * @summary Retrieve an Accounting Closure
     * @param {number} glClosureId glClosureId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retreiveClosure(glClosureId: number, options?: any): AxiosPromise<GetGlClosureResponse>;
    /**
     * Example Requests:  glclosures
     * @summary List Accounting closures
     * @param {number} [officeId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllClosures(officeId?: number, options?: any): AxiosPromise<Array<GetGlClosureResponse>>;
    /**
     * Once an accounting closure is created, only the comments associated with it may be edited
     * @summary Update an Accounting closure
     * @param {number} glClosureId glClosureId
     * @param {PutGlClosuresRequest} [putGlClosuresRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateGLClosure(glClosureId: number, putGlClosuresRequest?: PutGlClosuresRequest, options?: any): AxiosPromise<PutGlClosuresResponse>;
};
/**
 * AccountingClosureApi - object-oriented interface
 * @export
 * @class AccountingClosureApi
 * @extends {BaseAPI}
 */
export declare class AccountingClosureApi extends BaseAPI {
    /**
     * Mandatory Fields officeId,closingDate
     * @summary Create an Accounting Closure
     * @param {PostGlClosuresRequest} postGlClosuresRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountingClosureApi
     */
    createGLClosure(postGlClosuresRequest: PostGlClosuresRequest, options?: any): Promise<import("axios").AxiosResponse<PostGlClosuresResponse>>;
    /**
     * Note: Only the latest accounting closure associated with a branch may be deleted.
     * @summary Delete an accounting closure
     * @param {number} glClosureId glclosureId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountingClosureApi
     */
    deleteGLClosure(glClosureId: number, options?: any): Promise<import("axios").AxiosResponse<DeleteGlClosuresResponse>>;
    /**
     * Example Requests:  glclosures/1   /glclosures/1?fields=officeName,closingDate
     * @summary Retrieve an Accounting Closure
     * @param {number} glClosureId glClosureId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountingClosureApi
     */
    retreiveClosure(glClosureId: number, options?: any): Promise<import("axios").AxiosResponse<GetGlClosureResponse>>;
    /**
     * Example Requests:  glclosures
     * @summary List Accounting closures
     * @param {number} [officeId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountingClosureApi
     */
    retrieveAllClosures(officeId?: number, options?: any): Promise<import("axios").AxiosResponse<GetGlClosureResponse[]>>;
    /**
     * Once an accounting closure is created, only the comments associated with it may be edited
     * @summary Update an Accounting closure
     * @param {number} glClosureId glClosureId
     * @param {PutGlClosuresRequest} [putGlClosuresRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountingClosureApi
     */
    updateGLClosure(glClosureId: number, putGlClosuresRequest?: PutGlClosuresRequest, options?: any): Promise<import("axios").AxiosResponse<PutGlClosuresResponse>>;
}
