/**
 * 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 { DeleteReportMailingJobsResponse } from '../models';
import { GetReportMailingJobsResponse } from '../models';
import { GetReportMailingJobsTemplate } from '../models';
import { PostReportMailingJobsRequest } from '../models';
import { PostReportMailingJobsResponse } from '../models';
import { PutReportMailingJobsRequest } from '../models';
import { PutReportMailingJobsResponse } from '../models';
/**
 * ReportMailingJobsApi - axios parameter creator
 * @export
 */
export declare const ReportMailingJobsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Mandatory Fields: name, startDateTime, stretchyReportId, emailRecipients, emailSubject, emailMessage, emailAttachmentFileFormatId, recurrence, isActive  Optional Fields: description, stretchyReportParamMap
     * @summary Create a Report Mailing Job
     * @param {PostReportMailingJobsRequest} postReportMailingJobsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createReportMailingJob: (postReportMailingJobsRequest: PostReportMailingJobsRequest, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete a Report Mailing Job
     * @param {number} entityId entityId
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteReportMailingJob: (entityId: number, body: object, options?: any) => Promise<RequestArgs>;
    /**
     * Example Requests:  reportmailingjobs
     * @summary List Report Mailing Jobs
     * @param {number} [offset] offset
     * @param {number} [limit] limit
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllReportMailingJobs: (offset?: number, limit?: number, orderBy?: string, sortOrder?: string, options?: any) => Promise<RequestArgs>;
    /**
     * Example Requests:  reportmailingjobs/1   reportmailingjobs/1?template=true
     * @summary Retrieve a Report Mailing Job
     * @param {number} entityId entityId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveReportMailingJob: (entityId: number, options?: any) => Promise<RequestArgs>;
    /**
     * This is a convenience resource. It can be useful when building maintenance user interface screens for report mailing job applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  reportmailingjobs/template
     * @summary Retrieve Report Mailing Job Details Template
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveReportMailingJobTemplate: (options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Update a Report Mailing Job
     * @param {number} entityId entityId
     * @param {PutReportMailingJobsRequest} putReportMailingJobsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateReportMailingJob: (entityId: number, putReportMailingJobsRequest: PutReportMailingJobsRequest, options?: any) => Promise<RequestArgs>;
};
/**
 * ReportMailingJobsApi - functional programming interface
 * @export
 */
export declare const ReportMailingJobsApiFp: (configuration?: Configuration) => {
    /**
     * Mandatory Fields: name, startDateTime, stretchyReportId, emailRecipients, emailSubject, emailMessage, emailAttachmentFileFormatId, recurrence, isActive  Optional Fields: description, stretchyReportParamMap
     * @summary Create a Report Mailing Job
     * @param {PostReportMailingJobsRequest} postReportMailingJobsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createReportMailingJob(postReportMailingJobsRequest: PostReportMailingJobsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostReportMailingJobsResponse>>;
    /**
     *
     * @summary Delete a Report Mailing Job
     * @param {number} entityId entityId
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteReportMailingJob(entityId: number, body: object, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteReportMailingJobsResponse>>;
    /**
     * Example Requests:  reportmailingjobs
     * @summary List Report Mailing Jobs
     * @param {number} [offset] offset
     * @param {number} [limit] limit
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllReportMailingJobs(offset?: number, limit?: number, orderBy?: string, sortOrder?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<GetReportMailingJobsResponse>>>;
    /**
     * Example Requests:  reportmailingjobs/1   reportmailingjobs/1?template=true
     * @summary Retrieve a Report Mailing Job
     * @param {number} entityId entityId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveReportMailingJob(entityId: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetReportMailingJobsResponse>>;
    /**
     * This is a convenience resource. It can be useful when building maintenance user interface screens for report mailing job applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  reportmailingjobs/template
     * @summary Retrieve Report Mailing Job Details Template
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveReportMailingJobTemplate(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetReportMailingJobsTemplate>>;
    /**
     *
     * @summary Update a Report Mailing Job
     * @param {number} entityId entityId
     * @param {PutReportMailingJobsRequest} putReportMailingJobsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateReportMailingJob(entityId: number, putReportMailingJobsRequest: PutReportMailingJobsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PutReportMailingJobsResponse>>;
};
/**
 * ReportMailingJobsApi - factory interface
 * @export
 */
export declare const ReportMailingJobsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Mandatory Fields: name, startDateTime, stretchyReportId, emailRecipients, emailSubject, emailMessage, emailAttachmentFileFormatId, recurrence, isActive  Optional Fields: description, stretchyReportParamMap
     * @summary Create a Report Mailing Job
     * @param {PostReportMailingJobsRequest} postReportMailingJobsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createReportMailingJob(postReportMailingJobsRequest: PostReportMailingJobsRequest, options?: any): AxiosPromise<PostReportMailingJobsResponse>;
    /**
     *
     * @summary Delete a Report Mailing Job
     * @param {number} entityId entityId
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteReportMailingJob(entityId: number, body: object, options?: any): AxiosPromise<DeleteReportMailingJobsResponse>;
    /**
     * Example Requests:  reportmailingjobs
     * @summary List Report Mailing Jobs
     * @param {number} [offset] offset
     * @param {number} [limit] limit
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveAllReportMailingJobs(offset?: number, limit?: number, orderBy?: string, sortOrder?: string, options?: any): AxiosPromise<Array<GetReportMailingJobsResponse>>;
    /**
     * Example Requests:  reportmailingjobs/1   reportmailingjobs/1?template=true
     * @summary Retrieve a Report Mailing Job
     * @param {number} entityId entityId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveReportMailingJob(entityId: number, options?: any): AxiosPromise<GetReportMailingJobsResponse>;
    /**
     * This is a convenience resource. It can be useful when building maintenance user interface screens for report mailing job applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  reportmailingjobs/template
     * @summary Retrieve Report Mailing Job Details Template
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    retrieveReportMailingJobTemplate(options?: any): AxiosPromise<GetReportMailingJobsTemplate>;
    /**
     *
     * @summary Update a Report Mailing Job
     * @param {number} entityId entityId
     * @param {PutReportMailingJobsRequest} putReportMailingJobsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateReportMailingJob(entityId: number, putReportMailingJobsRequest: PutReportMailingJobsRequest, options?: any): AxiosPromise<PutReportMailingJobsResponse>;
};
/**
 * ReportMailingJobsApi - object-oriented interface
 * @export
 * @class ReportMailingJobsApi
 * @extends {BaseAPI}
 */
export declare class ReportMailingJobsApi extends BaseAPI {
    /**
     * Mandatory Fields: name, startDateTime, stretchyReportId, emailRecipients, emailSubject, emailMessage, emailAttachmentFileFormatId, recurrence, isActive  Optional Fields: description, stretchyReportParamMap
     * @summary Create a Report Mailing Job
     * @param {PostReportMailingJobsRequest} postReportMailingJobsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportMailingJobsApi
     */
    createReportMailingJob(postReportMailingJobsRequest: PostReportMailingJobsRequest, options?: any): Promise<import("axios").AxiosResponse<PostReportMailingJobsResponse>>;
    /**
     *
     * @summary Delete a Report Mailing Job
     * @param {number} entityId entityId
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportMailingJobsApi
     */
    deleteReportMailingJob(entityId: number, body: object, options?: any): Promise<import("axios").AxiosResponse<DeleteReportMailingJobsResponse>>;
    /**
     * Example Requests:  reportmailingjobs
     * @summary List Report Mailing Jobs
     * @param {number} [offset] offset
     * @param {number} [limit] limit
     * @param {string} [orderBy] orderBy
     * @param {string} [sortOrder] sortOrder
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportMailingJobsApi
     */
    retrieveAllReportMailingJobs(offset?: number, limit?: number, orderBy?: string, sortOrder?: string, options?: any): Promise<import("axios").AxiosResponse<GetReportMailingJobsResponse[]>>;
    /**
     * Example Requests:  reportmailingjobs/1   reportmailingjobs/1?template=true
     * @summary Retrieve a Report Mailing Job
     * @param {number} entityId entityId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportMailingJobsApi
     */
    retrieveReportMailingJob(entityId: number, options?: any): Promise<import("axios").AxiosResponse<GetReportMailingJobsResponse>>;
    /**
     * This is a convenience resource. It can be useful when building maintenance user interface screens for report mailing job applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  reportmailingjobs/template
     * @summary Retrieve Report Mailing Job Details Template
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportMailingJobsApi
     */
    retrieveReportMailingJobTemplate(options?: any): Promise<import("axios").AxiosResponse<GetReportMailingJobsTemplate>>;
    /**
     *
     * @summary Update a Report Mailing Job
     * @param {number} entityId entityId
     * @param {PutReportMailingJobsRequest} putReportMailingJobsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportMailingJobsApi
     */
    updateReportMailingJob(entityId: number, putReportMailingJobsRequest: PutReportMailingJobsRequest, options?: any): Promise<import("axios").AxiosResponse<PutReportMailingJobsResponse>>;
}
