/**
 * CyberSource Merged Spec
 * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
 *
 * OpenAPI spec version: 0.0.1
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */
import { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { ReportingV3ReportSubscriptionsGet200Response } from '../models';
import { ReportingV3ReportsSubscriptionsNameGet200Response } from '../models';
import { V3PredefinedreportsubscriptionsBody } from '../models';
import { V3ReportsubscriptionsBody } from '../models';
/**
 * ReportSubscriptionsApi - axios parameter creator
 * @export
 */
export declare const ReportSubscriptionsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Create or update an already existing classic or standard subscription.
     * @summary Create a Standard or Classic Subscription
     * @param {V3PredefinedreportsubscriptionsBody} body Report subscription request payload
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createStandardOrClassicSubscription: (body: V3PredefinedreportsubscriptionsBody, organizationId?: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Create a report subscription for your organization. The report name must be unique.
     * @summary Create Report Subscription for a Report Name by Organization
     * @param {V3ReportsubscriptionsBody} body Report subscription request payload
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSubscription: (body: V3ReportsubscriptionsBody, organizationId?: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Delete a report subscription for your organization. You must know the unique name of the report you want to delete.
     * @summary Delete Subscription of a Report Name by Organization
     * @param {string} reportName Name of the Report to Delete
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteSubscription: (reportName: string, organizationId?: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * View a summary of all report subscriptions.
     * @summary Get All Subscriptions
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAllSubscriptions: (organizationId?: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * View the details of a report subscription, such as the report format or report frequency, using the report's unique name.
     * @summary Get Subscription for Report Name
     * @param {string} reportName Name of the Report to Retrieve
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSubscription: (reportName: string, organizationId?: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
};
/**
 * ReportSubscriptionsApi - functional programming interface
 * @export
 */
export declare const ReportSubscriptionsApiFp: (configuration?: Configuration) => {
    /**
     * Create or update an already existing classic or standard subscription.
     * @summary Create a Standard or Classic Subscription
     * @param {V3PredefinedreportsubscriptionsBody} body Report subscription request payload
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createStandardOrClassicSubscription(body: V3PredefinedreportsubscriptionsBody, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>>;
    /**
     * Create a report subscription for your organization. The report name must be unique.
     * @summary Create Report Subscription for a Report Name by Organization
     * @param {V3ReportsubscriptionsBody} body Report subscription request payload
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSubscription(body: V3ReportsubscriptionsBody, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>>;
    /**
     * Delete a report subscription for your organization. You must know the unique name of the report you want to delete.
     * @summary Delete Subscription of a Report Name by Organization
     * @param {string} reportName Name of the Report to Delete
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteSubscription(reportName: string, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>>;
    /**
     * View a summary of all report subscriptions.
     * @summary Get All Subscriptions
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAllSubscriptions(organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<ReportingV3ReportSubscriptionsGet200Response>>>;
    /**
     * View the details of a report subscription, such as the report format or report frequency, using the report's unique name.
     * @summary Get Subscription for Report Name
     * @param {string} reportName Name of the Report to Retrieve
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSubscription(reportName: string, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<ReportingV3ReportsSubscriptionsNameGet200Response>>>;
};
/**
 * ReportSubscriptionsApi - factory interface
 * @export
 */
export declare const ReportSubscriptionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Create or update an already existing classic or standard subscription.
     * @summary Create a Standard or Classic Subscription
     * @param {V3PredefinedreportsubscriptionsBody} body Report subscription request payload
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createStandardOrClassicSubscription(body: V3PredefinedreportsubscriptionsBody, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<void>>;
    /**
     * Create a report subscription for your organization. The report name must be unique.
     * @summary Create Report Subscription for a Report Name by Organization
     * @param {V3ReportsubscriptionsBody} body Report subscription request payload
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSubscription(body: V3ReportsubscriptionsBody, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<void>>;
    /**
     * Delete a report subscription for your organization. You must know the unique name of the report you want to delete.
     * @summary Delete Subscription of a Report Name by Organization
     * @param {string} reportName Name of the Report to Delete
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteSubscription(reportName: string, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<void>>;
    /**
     * View a summary of all report subscriptions.
     * @summary Get All Subscriptions
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAllSubscriptions(organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<ReportingV3ReportSubscriptionsGet200Response>>;
    /**
     * View the details of a report subscription, such as the report format or report frequency, using the report's unique name.
     * @summary Get Subscription for Report Name
     * @param {string} reportName Name of the Report to Retrieve
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSubscription(reportName: string, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<ReportingV3ReportsSubscriptionsNameGet200Response>>;
};
/**
 * ReportSubscriptionsApi - object-oriented interface
 * @export
 * @class ReportSubscriptionsApi
 * @extends {BaseAPI}
 */
export declare class ReportSubscriptionsApi extends BaseAPI {
    /**
     * Create or update an already existing classic or standard subscription.
     * @summary Create a Standard or Classic Subscription
     * @param {V3PredefinedreportsubscriptionsBody} body Report subscription request payload
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportSubscriptionsApi
     */
    createStandardOrClassicSubscription(body: V3PredefinedreportsubscriptionsBody, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<void>>;
    /**
     * Create a report subscription for your organization. The report name must be unique.
     * @summary Create Report Subscription for a Report Name by Organization
     * @param {V3ReportsubscriptionsBody} body Report subscription request payload
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportSubscriptionsApi
     */
    createSubscription(body: V3ReportsubscriptionsBody, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<void>>;
    /**
     * Delete a report subscription for your organization. You must know the unique name of the report you want to delete.
     * @summary Delete Subscription of a Report Name by Organization
     * @param {string} reportName Name of the Report to Delete
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportSubscriptionsApi
     */
    deleteSubscription(reportName: string, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<void>>;
    /**
     * View a summary of all report subscriptions.
     * @summary Get All Subscriptions
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportSubscriptionsApi
     */
    getAllSubscriptions(organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<ReportingV3ReportSubscriptionsGet200Response>>;
    /**
     * View the details of a report subscription, such as the report format or report frequency, using the report's unique name.
     * @summary Get Subscription for Report Name
     * @param {string} reportName Name of the Report to Retrieve
     * @param {string} [organizationId] Valid Organization Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ReportSubscriptionsApi
     */
    getSubscription(reportName: string, organizationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<ReportingV3ReportsSubscriptionsNameGet200Response>>;
}
