/**
 * 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 { ActivateSubscriptionResponse } from '../models';
import { CancelSubscriptionResponse } from '../models';
import { CreateSubscriptionResponse } from '../models';
import { GetAllSubscriptionsResponse } from '../models';
import { GetSubscriptionCodeResponse } from '../models';
import { GetSubscriptionResponse } from '../models';
import { SubscriptionsIdBody } from '../models';
import { SuspendSubscriptionResponse } from '../models';
import { UpdateSubscriptionResponse } from '../models';
import { V1SubscriptionsBody } from '../models';
/**
 * SubscriptionsApi - axios parameter creator
 * @export
 */
export declare const SubscriptionsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Activate a `CANCELLED` Or `SUSPENDED` Subscription
     * @summary Activate a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    activateSubscription: (id: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Cancel a Subscription
     * @summary Cancel a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    cancelSubscription: (id: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Create a Recurring Billing Subscription
     * @summary Create a Subscription
     * @param {V1SubscriptionsBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSubscription: (body: V1SubscriptionsBody, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Retrieve Subscriptions by Subscription Code & Subscription Status.
     * @summary Get a List of Subscriptions
     * @param {number} [offset] Page offset number.
     * @param {number} [limit] Number of items to be returned. Default - &#x60;20&#x60;, Max - &#x60;100&#x60;
     * @param {string} [code] Filter by Subscription Code
     * @param {string} [status] Filter by Subscription Status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAllSubscriptions: (offset?: number, limit?: number, code?: string, status?: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Get a Subscription by Subscription Id
     * @summary Get a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSubscription: (id: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Get a Unique Subscription Code
     * @summary Get a Subscription Code
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSubscriptionCode: (options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Suspend a Subscription
     * @summary Suspend a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    suspendSubscription: (id: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Update a Subscription by Subscription Id
     * @summary Update a Subscription
     * @param {SubscriptionsIdBody} body Update Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateSubscription: (body: SubscriptionsIdBody, id: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
};
/**
 * SubscriptionsApi - functional programming interface
 * @export
 */
export declare const SubscriptionsApiFp: (configuration?: Configuration) => {
    /**
     * Activate a `CANCELLED` Or `SUSPENDED` Subscription
     * @summary Activate a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    activateSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<ActivateSubscriptionResponse>>>;
    /**
     * Cancel a Subscription
     * @summary Cancel a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    cancelSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<CancelSubscriptionResponse>>>;
    /**
     * Create a Recurring Billing Subscription
     * @summary Create a Subscription
     * @param {V1SubscriptionsBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSubscription(body: V1SubscriptionsBody, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<CreateSubscriptionResponse>>>;
    /**
     * Retrieve Subscriptions by Subscription Code & Subscription Status.
     * @summary Get a List of Subscriptions
     * @param {number} [offset] Page offset number.
     * @param {number} [limit] Number of items to be returned. Default - &#x60;20&#x60;, Max - &#x60;100&#x60;
     * @param {string} [code] Filter by Subscription Code
     * @param {string} [status] Filter by Subscription Status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAllSubscriptions(offset?: number, limit?: number, code?: string, status?: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<GetAllSubscriptionsResponse>>>;
    /**
     * Get a Subscription by Subscription Id
     * @summary Get a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<GetSubscriptionResponse>>>;
    /**
     * Get a Unique Subscription Code
     * @summary Get a Subscription Code
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSubscriptionCode(options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<GetSubscriptionCodeResponse>>>;
    /**
     * Suspend a Subscription
     * @summary Suspend a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    suspendSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<SuspendSubscriptionResponse>>>;
    /**
     * Update a Subscription by Subscription Id
     * @summary Update a Subscription
     * @param {SubscriptionsIdBody} body Update Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateSubscription(body: SubscriptionsIdBody, id: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<UpdateSubscriptionResponse>>>;
};
/**
 * SubscriptionsApi - factory interface
 * @export
 */
export declare const SubscriptionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Activate a `CANCELLED` Or `SUSPENDED` Subscription
     * @summary Activate a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    activateSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<ActivateSubscriptionResponse>>;
    /**
     * Cancel a Subscription
     * @summary Cancel a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    cancelSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<CancelSubscriptionResponse>>;
    /**
     * Create a Recurring Billing Subscription
     * @summary Create a Subscription
     * @param {V1SubscriptionsBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSubscription(body: V1SubscriptionsBody, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<CreateSubscriptionResponse>>;
    /**
     * Retrieve Subscriptions by Subscription Code & Subscription Status.
     * @summary Get a List of Subscriptions
     * @param {number} [offset] Page offset number.
     * @param {number} [limit] Number of items to be returned. Default - &#x60;20&#x60;, Max - &#x60;100&#x60;
     * @param {string} [code] Filter by Subscription Code
     * @param {string} [status] Filter by Subscription Status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAllSubscriptions(offset?: number, limit?: number, code?: string, status?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<GetAllSubscriptionsResponse>>;
    /**
     * Get a Subscription by Subscription Id
     * @summary Get a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<GetSubscriptionResponse>>;
    /**
     * Get a Unique Subscription Code
     * @summary Get a Subscription Code
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSubscriptionCode(options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<GetSubscriptionCodeResponse>>;
    /**
     * Suspend a Subscription
     * @summary Suspend a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    suspendSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<SuspendSubscriptionResponse>>;
    /**
     * Update a Subscription by Subscription Id
     * @summary Update a Subscription
     * @param {SubscriptionsIdBody} body Update Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateSubscription(body: SubscriptionsIdBody, id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<UpdateSubscriptionResponse>>;
};
/**
 * SubscriptionsApi - object-oriented interface
 * @export
 * @class SubscriptionsApi
 * @extends {BaseAPI}
 */
export declare class SubscriptionsApi extends BaseAPI {
    /**
     * Activate a `CANCELLED` Or `SUSPENDED` Subscription
     * @summary Activate a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    activateSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<ActivateSubscriptionResponse>>;
    /**
     * Cancel a Subscription
     * @summary Cancel a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    cancelSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<CancelSubscriptionResponse>>;
    /**
     * Create a Recurring Billing Subscription
     * @summary Create a Subscription
     * @param {V1SubscriptionsBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    createSubscription(body: V1SubscriptionsBody, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<CreateSubscriptionResponse>>;
    /**
     * Retrieve Subscriptions by Subscription Code & Subscription Status.
     * @summary Get a List of Subscriptions
     * @param {number} [offset] Page offset number.
     * @param {number} [limit] Number of items to be returned. Default - &#x60;20&#x60;, Max - &#x60;100&#x60;
     * @param {string} [code] Filter by Subscription Code
     * @param {string} [status] Filter by Subscription Status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    getAllSubscriptions(offset?: number, limit?: number, code?: string, status?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<GetAllSubscriptionsResponse>>;
    /**
     * Get a Subscription by Subscription Id
     * @summary Get a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    getSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<GetSubscriptionResponse>>;
    /**
     * Get a Unique Subscription Code
     * @summary Get a Subscription Code
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    getSubscriptionCode(options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<GetSubscriptionCodeResponse>>;
    /**
     * Suspend a Subscription
     * @summary Suspend a Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    suspendSubscription(id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<SuspendSubscriptionResponse>>;
    /**
     * Update a Subscription by Subscription Id
     * @summary Update a Subscription
     * @param {SubscriptionsIdBody} body Update Subscription
     * @param {string} id Subscription Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    updateSubscription(body: SubscriptionsIdBody, id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<UpdateSubscriptionResponse>>;
}
