/**
 * 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, AxiosRequestConfig } from "axios";
import { Configuration } from "../configuration";
import { RequestArgs, BaseAPI } from "../base";
import { CreateSubscriptionResponse } from "../models";
import { DeleteSubscriptionResponse } from "../models";
import { ListSubscriptionsResponse } from "../models";
import { SubscriptionRequest } from "../models";
/**
 * SubscriptionsApi - axios parameter creator
 * @export
 */
export declare const SubscriptionsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Subscribe to receiving notifications at a given endpoint. The endpoint should be able to handle AWS SNS subscription requests. For more details see https://docs.aws.amazon.com/mobile/sdkforxamarin/developerguide/sns-send-http.html. Note, the sandbox environment allows a maximum of 3 active subscriptions; otherwise, this is limited to 1 active subscription and subsequent create requests will be rejected with a Limit Exceeded error.
     * @summary Create a notification subscription
     * @param {SubscriptionRequest} [subscriptionRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSubscription: (subscriptionRequest?: SubscriptionRequest, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * To remove a subscription, all its subscription requests\' statuses must be either \'confirmed\', \'deleted\' or a combination of those. A subscription with at least one \'pending\' subscription request cannot be removed.
     * @summary Remove a notification subscription
     * @param {string} id Universally unique identifier (UUID v4) of a resource.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteSubscription: (id: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Retrieve a list of existing notification subscriptions with details.
     * @summary List all notification subscriptions
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listSubscriptions: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * SubscriptionsApi - functional programming interface
 * @export
 */
export declare const SubscriptionsApiFp: (configuration?: Configuration) => {
    /**
     * Subscribe to receiving notifications at a given endpoint. The endpoint should be able to handle AWS SNS subscription requests. For more details see https://docs.aws.amazon.com/mobile/sdkforxamarin/developerguide/sns-send-http.html. Note, the sandbox environment allows a maximum of 3 active subscriptions; otherwise, this is limited to 1 active subscription and subsequent create requests will be rejected with a Limit Exceeded error.
     * @summary Create a notification subscription
     * @param {SubscriptionRequest} [subscriptionRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSubscription(subscriptionRequest?: SubscriptionRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateSubscriptionResponse>>;
    /**
     * To remove a subscription, all its subscription requests\' statuses must be either \'confirmed\', \'deleted\' or a combination of those. A subscription with at least one \'pending\' subscription request cannot be removed.
     * @summary Remove a notification subscription
     * @param {string} id Universally unique identifier (UUID v4) of a resource.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteSubscription(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteSubscriptionResponse>>;
    /**
     * Retrieve a list of existing notification subscriptions with details.
     * @summary List all notification subscriptions
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listSubscriptions(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListSubscriptionsResponse>>;
};
/**
 * SubscriptionsApi - factory interface
 * @export
 */
export declare const SubscriptionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Subscribe to receiving notifications at a given endpoint. The endpoint should be able to handle AWS SNS subscription requests. For more details see https://docs.aws.amazon.com/mobile/sdkforxamarin/developerguide/sns-send-http.html. Note, the sandbox environment allows a maximum of 3 active subscriptions; otherwise, this is limited to 1 active subscription and subsequent create requests will be rejected with a Limit Exceeded error.
     * @summary Create a notification subscription
     * @param {SubscriptionRequest} [subscriptionRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSubscription(subscriptionRequest?: SubscriptionRequest, options?: any): AxiosPromise<CreateSubscriptionResponse>;
    /**
     * To remove a subscription, all its subscription requests\' statuses must be either \'confirmed\', \'deleted\' or a combination of those. A subscription with at least one \'pending\' subscription request cannot be removed.
     * @summary Remove a notification subscription
     * @param {string} id Universally unique identifier (UUID v4) of a resource.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteSubscription(id: string, options?: any): AxiosPromise<DeleteSubscriptionResponse>;
    /**
     * Retrieve a list of existing notification subscriptions with details.
     * @summary List all notification subscriptions
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listSubscriptions(options?: any): AxiosPromise<ListSubscriptionsResponse>;
};
/**
 * SubscriptionsApi - object-oriented interface
 * @export
 * @class SubscriptionsApi
 * @extends {BaseAPI}
 */
export declare class SubscriptionsApi extends BaseAPI {
    /**
     * Subscribe to receiving notifications at a given endpoint. The endpoint should be able to handle AWS SNS subscription requests. For more details see https://docs.aws.amazon.com/mobile/sdkforxamarin/developerguide/sns-send-http.html. Note, the sandbox environment allows a maximum of 3 active subscriptions; otherwise, this is limited to 1 active subscription and subsequent create requests will be rejected with a Limit Exceeded error.
     * @summary Create a notification subscription
     * @param {SubscriptionRequest} [subscriptionRequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    createSubscription(subscriptionRequest?: SubscriptionRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateSubscriptionResponse, any>>;
    /**
     * To remove a subscription, all its subscription requests\' statuses must be either \'confirmed\', \'deleted\' or a combination of those. A subscription with at least one \'pending\' subscription request cannot be removed.
     * @summary Remove a notification subscription
     * @param {string} id Universally unique identifier (UUID v4) of a resource.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    deleteSubscription(id: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<DeleteSubscriptionResponse, any>>;
    /**
     * Retrieve a list of existing notification subscriptions with details.
     * @summary List all notification subscriptions
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SubscriptionsApi
     */
    listSubscriptions(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ListSubscriptionsResponse, any>>;
}
