/**
 * 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 { InlineResponse2005 } from '../models';
import { InlineResponse2014 } from '../models';
import { InlineResponse2015 } from '../models';
import { V1WebhooksBody } from '../models';
import { V2KeyssymBody1 } from '../models';
/**
 * CreateNewWebhooksApi - axios parameter creator
 * @export
 */
export declare const CreateNewWebhooksApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Create a new webhook subscription. Before creating a webhook, ensure that a security key has been created at the top of this developer center section. You will not need to pass us back the key during the creation of the webhook, but you will receive an error if you did not already create a key or store one on file.
     * @summary Create a Webhook
     * @param {V1WebhooksBody} [body] The webhook payload
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createWebhookSubscription: (body?: V1WebhooksBody, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Retrieve a list of products and event types that your account is eligible for. These products and events are the ones that you may subscribe to in the next step of creating webhooks.
     * @summary Find Products You Can Subscribe To
     * @param {string} organizationId The Organization Identifier.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    findProductsToSubscribe: (organizationId: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature.  Select the CREATE example for CyberSource to generate the key on our server and maintain it for you as well. Remeber to save the key in the API response, so that you can use it to validate messages later.
     * @summary Create Webhook Security Keys
     * @param {string} vCSenderOrganizationId Sender organization id
     * @param {string} vCPermissions Encoded user permissions returned by the CGK, for the entity user who initiated the boarding
     * @param {V2KeyssymBody1} [body] Provide egress Symmetric key information to save (create or store or refresh)
     * @param {string} [vCCorrelationId] A globally unique id associated with your request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    saveSymEgressKey: (vCSenderOrganizationId: string, vCPermissions: string, body?: V2KeyssymBody1, vCCorrelationId?: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
};
/**
 * CreateNewWebhooksApi - functional programming interface
 * @export
 */
export declare const CreateNewWebhooksApiFp: (configuration?: Configuration) => {
    /**
     * Create a new webhook subscription. Before creating a webhook, ensure that a security key has been created at the top of this developer center section. You will not need to pass us back the key during the creation of the webhook, but you will receive an error if you did not already create a key or store one on file.
     * @summary Create a Webhook
     * @param {V1WebhooksBody} [body] The webhook payload
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createWebhookSubscription(body?: V1WebhooksBody, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<InlineResponse2015>>>;
    /**
     * Retrieve a list of products and event types that your account is eligible for. These products and events are the ones that you may subscribe to in the next step of creating webhooks.
     * @summary Find Products You Can Subscribe To
     * @param {string} organizationId The Organization Identifier.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    findProductsToSubscribe(organizationId: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<Array<InlineResponse2005>>>>;
    /**
     * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature.  Select the CREATE example for CyberSource to generate the key on our server and maintain it for you as well. Remeber to save the key in the API response, so that you can use it to validate messages later.
     * @summary Create Webhook Security Keys
     * @param {string} vCSenderOrganizationId Sender organization id
     * @param {string} vCPermissions Encoded user permissions returned by the CGK, for the entity user who initiated the boarding
     * @param {V2KeyssymBody1} [body] Provide egress Symmetric key information to save (create or store or refresh)
     * @param {string} [vCCorrelationId] A globally unique id associated with your request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    saveSymEgressKey(vCSenderOrganizationId: string, vCPermissions: string, body?: V2KeyssymBody1, vCCorrelationId?: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<InlineResponse2014>>>;
};
/**
 * CreateNewWebhooksApi - factory interface
 * @export
 */
export declare const CreateNewWebhooksApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Create a new webhook subscription. Before creating a webhook, ensure that a security key has been created at the top of this developer center section. You will not need to pass us back the key during the creation of the webhook, but you will receive an error if you did not already create a key or store one on file.
     * @summary Create a Webhook
     * @param {V1WebhooksBody} [body] The webhook payload
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createWebhookSubscription(body?: V1WebhooksBody, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<InlineResponse2015>>;
    /**
     * Retrieve a list of products and event types that your account is eligible for. These products and events are the ones that you may subscribe to in the next step of creating webhooks.
     * @summary Find Products You Can Subscribe To
     * @param {string} organizationId The Organization Identifier.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    findProductsToSubscribe(organizationId: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<Array<InlineResponse2005>>>;
    /**
     * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature.  Select the CREATE example for CyberSource to generate the key on our server and maintain it for you as well. Remeber to save the key in the API response, so that you can use it to validate messages later.
     * @summary Create Webhook Security Keys
     * @param {string} vCSenderOrganizationId Sender organization id
     * @param {string} vCPermissions Encoded user permissions returned by the CGK, for the entity user who initiated the boarding
     * @param {V2KeyssymBody1} [body] Provide egress Symmetric key information to save (create or store or refresh)
     * @param {string} [vCCorrelationId] A globally unique id associated with your request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    saveSymEgressKey(vCSenderOrganizationId: string, vCPermissions: string, body?: V2KeyssymBody1, vCCorrelationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<InlineResponse2014>>;
};
/**
 * CreateNewWebhooksApi - object-oriented interface
 * @export
 * @class CreateNewWebhooksApi
 * @extends {BaseAPI}
 */
export declare class CreateNewWebhooksApi extends BaseAPI {
    /**
     * Create a new webhook subscription. Before creating a webhook, ensure that a security key has been created at the top of this developer center section. You will not need to pass us back the key during the creation of the webhook, but you will receive an error if you did not already create a key or store one on file.
     * @summary Create a Webhook
     * @param {V1WebhooksBody} [body] The webhook payload
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CreateNewWebhooksApi
     */
    createWebhookSubscription(body?: V1WebhooksBody, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<InlineResponse2015>>;
    /**
     * Retrieve a list of products and event types that your account is eligible for. These products and events are the ones that you may subscribe to in the next step of creating webhooks.
     * @summary Find Products You Can Subscribe To
     * @param {string} organizationId The Organization Identifier.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CreateNewWebhooksApi
     */
    findProductsToSubscribe(organizationId: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<Array<InlineResponse2005>>>;
    /**
     * Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature.  Select the CREATE example for CyberSource to generate the key on our server and maintain it for you as well. Remeber to save the key in the API response, so that you can use it to validate messages later.
     * @summary Create Webhook Security Keys
     * @param {string} vCSenderOrganizationId Sender organization id
     * @param {string} vCPermissions Encoded user permissions returned by the CGK, for the entity user who initiated the boarding
     * @param {V2KeyssymBody1} [body] Provide egress Symmetric key information to save (create or store or refresh)
     * @param {string} [vCCorrelationId] A globally unique id associated with your request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CreateNewWebhooksApi
     */
    saveSymEgressKey(vCSenderOrganizationId: string, vCPermissions: string, body?: V2KeyssymBody1, vCCorrelationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<InlineResponse2014>>;
}
