/**
 * 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 { FormDataContentDisposition } from '../models';
import { JournalEntryCommand } from '../models';
import { JournalEntryData } from '../models';
import { PostJournalEntriesResponse } from '../models';
import { PostJournalEntriesTransactionIdRequest } from '../models';
import { PostJournalEntriesTransactionIdResponse } from '../models';
/**
 * JournalEntriesApi - axios parameter creator
 * @export
 */
export declare const JournalEntriesApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Note: A Balanced (simple) Journal entry would have atleast one \"Debit\" and one \"Credit\" entry whose amounts are equal  Compound Journal entries may have \"n\" debits and \"m\" credits where both \"m\" and \"n\" are greater than 0 and the net sum or all debits and credits are equal    Mandatory Fields officeId, transactionDate   credits- glAccountId, amount, comments    debits-  glAccountId, amount, comments    Optional Fields paymentTypeId, accountNumber, checkNumber, routingCode, receiptNumber, bankNumber
     * @summary Create \"Balanced\" Journal Entries
     * @param {string} [command] command
     * @param {JournalEntryCommand} [journalEntryCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createGLJournalEntry: (command?: string, journalEntryCommand?: JournalEntryCommand, options?: any) => Promise<RequestArgs>;
    /**
     * This API calculates the running balances for office. If office ID not provided this API calculates running balances for all offices.  Mandatory Fields officeId
     * @summary Update Running balances for Journal Entries
     * @param {string} transactionId transactionId
     * @param {string} [command] command
     * @param {PostJournalEntriesTransactionIdRequest} [postJournalEntriesTransactionIdRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createReversalJournalEntry: (transactionId: string, command?: string, postJournalEntriesTransactionIdRequest?: PostJournalEntriesTransactionIdRequest, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {number} [officeId]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getJournalEntriesTemplate: (officeId?: number, dateFormat?: string, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {FormDataContentDisposition} [file]
     * @param {string} [locale]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    postJournalEntriesTemplate: (file?: any, locale?: string, dateFormat?: string, options?: any) => Promise<RequestArgs>;
    /**
     * Example Requests:  journalentries/1    journalentries/1?fields=officeName,glAccountId,entryType,amount  journalentries/1?runningBalance=true  journalentries/1?transactionDetails=true
     * @summary Retrieve a single Entry
     * @param {number} journalEntryId journalEntryId
     * @param {boolean} [runningBalance] runningBalance
     * @param {boolean} [transactionDetails] transactionDetails
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retreiveJournalEntryById: (journalEntryId: number, runningBalance?: boolean, transactionDetails?: boolean, options?: any) => Promise<RequestArgs>;
    /**
     * The list capability of journal entries can support pagination and sorting.  Example Requests:  journalentries  journalentries?transactionId=PB37X8Y21EQUY4S  journalentries?officeId=1&manualEntriesOnly=true&fromDate=1 July 2013&toDate=15 July 2013&dateFormat=dd MMMM yyyy&locale=en  journalentries?fields=officeName,glAccountName,transactionDate  journalentries?offset=10&limit=50  journalentries?orderBy=transactionId&sortOrder=DESC  journalentries?runningBalance=true  journalentries?transactionDetails=true  journalentries?loanId=12  journalentries?savingsId=24
     * @summary List Journal Entries
     * @param {number} [officeId] officeId
     * @param {number} [glAccountId] glAccountId
     * @param {boolean} [manualEntriesOnly] manualEntriesOnly
     * @param {object} [fromDate] fromDate
     * @param {object} [toDate] toDate
     * @param {string} [transactionId] transactionId
     * @param {number} [entityType] entityType
     * @param {number} [offset] offset
     * @param {number} [limit] limit
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {string} [locale] locale
     * @param {string} [dateFormat] dateFormat
     * @param {number} [loanId] loanId
     * @param {number} [savingsId] savingsId
     * @param {boolean} [runningBalance] runningBalance
     * @param {boolean} [transactionDetails] transactionDetails
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAll1: (officeId?: number, glAccountId?: number, manualEntriesOnly?: boolean, fromDate?: object, toDate?: object, transactionId?: string, entityType?: number, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, locale?: string, dateFormat?: string, loanId?: number, savingsId?: number, runningBalance?: boolean, transactionDetails?: boolean, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {number} [offset]
     * @param {number} [limit]
     * @param {number} [entryId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveJournalEntries: (offset?: number, limit?: number, entryId?: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {number} [officeId]
     * @param {string} [currencyCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveOpeningBalance: (officeId?: number, currencyCode?: string, options?: any) => Promise<RequestArgs>;
};
/**
 * JournalEntriesApi - functional programming interface
 * @export
 */
export declare const JournalEntriesApiFp: (configuration?: Configuration) => {
    /**
     * Note: A Balanced (simple) Journal entry would have atleast one \"Debit\" and one \"Credit\" entry whose amounts are equal  Compound Journal entries may have \"n\" debits and \"m\" credits where both \"m\" and \"n\" are greater than 0 and the net sum or all debits and credits are equal    Mandatory Fields officeId, transactionDate   credits- glAccountId, amount, comments    debits-  glAccountId, amount, comments    Optional Fields paymentTypeId, accountNumber, checkNumber, routingCode, receiptNumber, bankNumber
     * @summary Create \"Balanced\" Journal Entries
     * @param {string} [command] command
     * @param {JournalEntryCommand} [journalEntryCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createGLJournalEntry(command?: string, journalEntryCommand?: JournalEntryCommand, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostJournalEntriesResponse>>;
    /**
     * This API calculates the running balances for office. If office ID not provided this API calculates running balances for all offices.  Mandatory Fields officeId
     * @summary Update Running balances for Journal Entries
     * @param {string} transactionId transactionId
     * @param {string} [command] command
     * @param {PostJournalEntriesTransactionIdRequest} [postJournalEntriesTransactionIdRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createReversalJournalEntry(transactionId: string, command?: string, postJournalEntriesTransactionIdRequest?: PostJournalEntriesTransactionIdRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostJournalEntriesTransactionIdResponse>>;
    /**
     *
     * @param {number} [officeId]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getJournalEntriesTemplate(officeId?: number, 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}
     */
    postJournalEntriesTemplate(file?: any, locale?: string, dateFormat?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
    /**
     * Example Requests:  journalentries/1    journalentries/1?fields=officeName,glAccountId,entryType,amount  journalentries/1?runningBalance=true  journalentries/1?transactionDetails=true
     * @summary Retrieve a single Entry
     * @param {number} journalEntryId journalEntryId
     * @param {boolean} [runningBalance] runningBalance
     * @param {boolean} [transactionDetails] transactionDetails
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retreiveJournalEntryById(journalEntryId: number, runningBalance?: boolean, transactionDetails?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<JournalEntryData>>;
    /**
     * The list capability of journal entries can support pagination and sorting.  Example Requests:  journalentries  journalentries?transactionId=PB37X8Y21EQUY4S  journalentries?officeId=1&manualEntriesOnly=true&fromDate=1 July 2013&toDate=15 July 2013&dateFormat=dd MMMM yyyy&locale=en  journalentries?fields=officeName,glAccountName,transactionDate  journalentries?offset=10&limit=50  journalentries?orderBy=transactionId&sortOrder=DESC  journalentries?runningBalance=true  journalentries?transactionDetails=true  journalentries?loanId=12  journalentries?savingsId=24
     * @summary List Journal Entries
     * @param {number} [officeId] officeId
     * @param {number} [glAccountId] glAccountId
     * @param {boolean} [manualEntriesOnly] manualEntriesOnly
     * @param {object} [fromDate] fromDate
     * @param {object} [toDate] toDate
     * @param {string} [transactionId] transactionId
     * @param {number} [entityType] entityType
     * @param {number} [offset] offset
     * @param {number} [limit] limit
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {string} [locale] locale
     * @param {string} [dateFormat] dateFormat
     * @param {number} [loanId] loanId
     * @param {number} [savingsId] savingsId
     * @param {boolean} [runningBalance] runningBalance
     * @param {boolean} [transactionDetails] transactionDetails
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAll1(officeId?: number, glAccountId?: number, manualEntriesOnly?: boolean, fromDate?: object, toDate?: object, transactionId?: string, entityType?: number, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, locale?: string, dateFormat?: string, loanId?: number, savingsId?: number, runningBalance?: boolean, transactionDetails?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<JournalEntryData>>>;
    /**
     *
     * @param {number} [offset]
     * @param {number} [limit]
     * @param {number} [entryId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveJournalEntries(offset?: number, limit?: number, entryId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
    /**
     *
     * @param {number} [officeId]
     * @param {string} [currencyCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveOpeningBalance(officeId?: number, currencyCode?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
};
/**
 * JournalEntriesApi - factory interface
 * @export
 */
export declare const JournalEntriesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Note: A Balanced (simple) Journal entry would have atleast one \"Debit\" and one \"Credit\" entry whose amounts are equal  Compound Journal entries may have \"n\" debits and \"m\" credits where both \"m\" and \"n\" are greater than 0 and the net sum or all debits and credits are equal    Mandatory Fields officeId, transactionDate   credits- glAccountId, amount, comments    debits-  glAccountId, amount, comments    Optional Fields paymentTypeId, accountNumber, checkNumber, routingCode, receiptNumber, bankNumber
     * @summary Create \"Balanced\" Journal Entries
     * @param {string} [command] command
     * @param {JournalEntryCommand} [journalEntryCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createGLJournalEntry(command?: string, journalEntryCommand?: JournalEntryCommand, options?: any): AxiosPromise<PostJournalEntriesResponse>;
    /**
     * This API calculates the running balances for office. If office ID not provided this API calculates running balances for all offices.  Mandatory Fields officeId
     * @summary Update Running balances for Journal Entries
     * @param {string} transactionId transactionId
     * @param {string} [command] command
     * @param {PostJournalEntriesTransactionIdRequest} [postJournalEntriesTransactionIdRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createReversalJournalEntry(transactionId: string, command?: string, postJournalEntriesTransactionIdRequest?: PostJournalEntriesTransactionIdRequest, options?: any): AxiosPromise<PostJournalEntriesTransactionIdResponse>;
    /**
     *
     * @param {number} [officeId]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getJournalEntriesTemplate(officeId?: number, dateFormat?: string, options?: any): AxiosPromise<void>;
    /**
     *
     * @param {FormDataContentDisposition} [file]
     * @param {string} [locale]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    postJournalEntriesTemplate(file?: any, locale?: string, dateFormat?: string, options?: any): AxiosPromise<string>;
    /**
     * Example Requests:  journalentries/1    journalentries/1?fields=officeName,glAccountId,entryType,amount  journalentries/1?runningBalance=true  journalentries/1?transactionDetails=true
     * @summary Retrieve a single Entry
     * @param {number} journalEntryId journalEntryId
     * @param {boolean} [runningBalance] runningBalance
     * @param {boolean} [transactionDetails] transactionDetails
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retreiveJournalEntryById(journalEntryId: number, runningBalance?: boolean, transactionDetails?: boolean, options?: any): AxiosPromise<JournalEntryData>;
    /**
     * The list capability of journal entries can support pagination and sorting.  Example Requests:  journalentries  journalentries?transactionId=PB37X8Y21EQUY4S  journalentries?officeId=1&manualEntriesOnly=true&fromDate=1 July 2013&toDate=15 July 2013&dateFormat=dd MMMM yyyy&locale=en  journalentries?fields=officeName,glAccountName,transactionDate  journalentries?offset=10&limit=50  journalentries?orderBy=transactionId&sortOrder=DESC  journalentries?runningBalance=true  journalentries?transactionDetails=true  journalentries?loanId=12  journalentries?savingsId=24
     * @summary List Journal Entries
     * @param {number} [officeId] officeId
     * @param {number} [glAccountId] glAccountId
     * @param {boolean} [manualEntriesOnly] manualEntriesOnly
     * @param {object} [fromDate] fromDate
     * @param {object} [toDate] toDate
     * @param {string} [transactionId] transactionId
     * @param {number} [entityType] entityType
     * @param {number} [offset] offset
     * @param {number} [limit] limit
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {string} [locale] locale
     * @param {string} [dateFormat] dateFormat
     * @param {number} [loanId] loanId
     * @param {number} [savingsId] savingsId
     * @param {boolean} [runningBalance] runningBalance
     * @param {boolean} [transactionDetails] transactionDetails
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAll1(officeId?: number, glAccountId?: number, manualEntriesOnly?: boolean, fromDate?: object, toDate?: object, transactionId?: string, entityType?: number, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, locale?: string, dateFormat?: string, loanId?: number, savingsId?: number, runningBalance?: boolean, transactionDetails?: boolean, options?: any): AxiosPromise<Array<JournalEntryData>>;
    /**
     *
     * @param {number} [offset]
     * @param {number} [limit]
     * @param {number} [entryId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveJournalEntries(offset?: number, limit?: number, entryId?: number, options?: any): AxiosPromise<string>;
    /**
     *
     * @param {number} [officeId]
     * @param {string} [currencyCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveOpeningBalance(officeId?: number, currencyCode?: string, options?: any): AxiosPromise<string>;
};
/**
 * JournalEntriesApi - object-oriented interface
 * @export
 * @class JournalEntriesApi
 * @extends {BaseAPI}
 */
export declare class JournalEntriesApi extends BaseAPI {
    /**
     * Note: A Balanced (simple) Journal entry would have atleast one \"Debit\" and one \"Credit\" entry whose amounts are equal  Compound Journal entries may have \"n\" debits and \"m\" credits where both \"m\" and \"n\" are greater than 0 and the net sum or all debits and credits are equal    Mandatory Fields officeId, transactionDate   credits- glAccountId, amount, comments    debits-  glAccountId, amount, comments    Optional Fields paymentTypeId, accountNumber, checkNumber, routingCode, receiptNumber, bankNumber
     * @summary Create \"Balanced\" Journal Entries
     * @param {string} [command] command
     * @param {JournalEntryCommand} [journalEntryCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof JournalEntriesApi
     */
    createGLJournalEntry(command?: string, journalEntryCommand?: JournalEntryCommand, options?: any): Promise<import("axios").AxiosResponse<PostJournalEntriesResponse>>;
    /**
     * This API calculates the running balances for office. If office ID not provided this API calculates running balances for all offices.  Mandatory Fields officeId
     * @summary Update Running balances for Journal Entries
     * @param {string} transactionId transactionId
     * @param {string} [command] command
     * @param {PostJournalEntriesTransactionIdRequest} [postJournalEntriesTransactionIdRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof JournalEntriesApi
     */
    createReversalJournalEntry(transactionId: string, command?: string, postJournalEntriesTransactionIdRequest?: PostJournalEntriesTransactionIdRequest, options?: any): Promise<import("axios").AxiosResponse<PostJournalEntriesTransactionIdResponse>>;
    /**
     *
     * @param {number} [officeId]
     * @param {string} [dateFormat]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof JournalEntriesApi
     */
    getJournalEntriesTemplate(officeId?: number, 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 JournalEntriesApi
     */
    postJournalEntriesTemplate(file?: FormDataContentDisposition, locale?: string, dateFormat?: string, options?: any): Promise<import("axios").AxiosResponse<string>>;
    /**
     * Example Requests:  journalentries/1    journalentries/1?fields=officeName,glAccountId,entryType,amount  journalentries/1?runningBalance=true  journalentries/1?transactionDetails=true
     * @summary Retrieve a single Entry
     * @param {number} journalEntryId journalEntryId
     * @param {boolean} [runningBalance] runningBalance
     * @param {boolean} [transactionDetails] transactionDetails
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof JournalEntriesApi
     */
    retreiveJournalEntryById(journalEntryId: number, runningBalance?: boolean, transactionDetails?: boolean, options?: any): Promise<import("axios").AxiosResponse<JournalEntryData>>;
    /**
     * The list capability of journal entries can support pagination and sorting.  Example Requests:  journalentries  journalentries?transactionId=PB37X8Y21EQUY4S  journalentries?officeId=1&manualEntriesOnly=true&fromDate=1 July 2013&toDate=15 July 2013&dateFormat=dd MMMM yyyy&locale=en  journalentries?fields=officeName,glAccountName,transactionDate  journalentries?offset=10&limit=50  journalentries?orderBy=transactionId&sortOrder=DESC  journalentries?runningBalance=true  journalentries?transactionDetails=true  journalentries?loanId=12  journalentries?savingsId=24
     * @summary List Journal Entries
     * @param {number} [officeId] officeId
     * @param {number} [glAccountId] glAccountId
     * @param {boolean} [manualEntriesOnly] manualEntriesOnly
     * @param {object} [fromDate] fromDate
     * @param {object} [toDate] toDate
     * @param {string} [transactionId] transactionId
     * @param {number} [entityType] entityType
     * @param {number} [offset] offset
     * @param {number} [limit] limit
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {string} [locale] locale
     * @param {string} [dateFormat] dateFormat
     * @param {number} [loanId] loanId
     * @param {number} [savingsId] savingsId
     * @param {boolean} [runningBalance] runningBalance
     * @param {boolean} [transactionDetails] transactionDetails
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof JournalEntriesApi
     */
    retrieveAll1(officeId?: number, glAccountId?: number, manualEntriesOnly?: boolean, fromDate?: object, toDate?: object, transactionId?: string, entityType?: number, offset?: number, limit?: number, orderBy?: string, sortOrder?: string, locale?: string, dateFormat?: string, loanId?: number, savingsId?: number, runningBalance?: boolean, transactionDetails?: boolean, options?: any): Promise<import("axios").AxiosResponse<JournalEntryData[]>>;
    /**
     *
     * @param {number} [offset]
     * @param {number} [limit]
     * @param {number} [entryId]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof JournalEntriesApi
     */
    retrieveJournalEntries(offset?: number, limit?: number, entryId?: number, options?: any): Promise<import("axios").AxiosResponse<string>>;
    /**
     *
     * @param {number} [officeId]
     * @param {string} [currencyCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof JournalEntriesApi
     */
    retrieveOpeningBalance(officeId?: number, currencyCode?: string, options?: any): Promise<import("axios").AxiosResponse<string>>;
}
