/**
 * 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 { InlineResponse2006 } from '../models';
import { InlineResponse2007 } from '../models';
import { InlineResponse2016 } from '../models';
import { V2KeysasymBody1 } from '../models';
import { WebhooksWebhookIdBody } from '../models';
/**
 * ManageWebhooksApi - axios parameter creator
 * @export
 */
export declare const ManageWebhooksApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications.
     * @summary Delete a Webhook Subscription
     * @param {string} webhookId The webhook identifier.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteWebhookSubscription: (webhookId: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Retrieve the details of a specific webhook by supplying the webhook ID in the path.
     * @summary Get Details On a Single Webhook
     * @param {string} webhookId The webhook Identifier
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getWebhookSubscriptionById: (webhookId: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Retrieve a list of all previously created webhooks.
     * @summary Get Details On All Created Webhooks
     * @param {string} organizationId The Organization Identifier.
     * @param {string} productId The Product Identifier.
     * @param {string} eventType The Event Type.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getWebhookSubscriptionsByOrg: (organizationId: string, productId: string, eventType: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Store and manage certificates that will be used to preform Message Level Encryption (MLE). Each new webhook will need its own unique asymmetric certificate. You can either use a digital certificate issued/signed by a CA or self-sign your own using the documentation available on the Developer Guide.
     * @summary Message Level Encryption
     * @param {V2KeysasymBody1} body Provide egress Asymmetric key information to save (create or store)
     * @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 {string} [vCCorrelationId] A globally unique id associated with your request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    saveAsymEgressKey: (body: V2KeysasymBody1, vCSenderOrganizationId: string, vCPermissions: string, vCCorrelationId?: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Update the webhook subscription using PATCH.
     * @summary Update a Webhook Subscription
     * @param {string} webhookId The Webhook Identifier.
     * @param {WebhooksWebhookIdBody} [body] The webhook payload or changes to apply.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateWebhookSubscription: (webhookId: string, body?: WebhooksWebhookIdBody, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
};
/**
 * ManageWebhooksApi - functional programming interface
 * @export
 */
export declare const ManageWebhooksApiFp: (configuration?: Configuration) => {
    /**
     * Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications.
     * @summary Delete a Webhook Subscription
     * @param {string} webhookId The webhook identifier.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteWebhookSubscription(webhookId: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>>;
    /**
     * Retrieve the details of a specific webhook by supplying the webhook ID in the path.
     * @summary Get Details On a Single Webhook
     * @param {string} webhookId The webhook Identifier
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getWebhookSubscriptionById(webhookId: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<InlineResponse2007>>>;
    /**
     * Retrieve a list of all previously created webhooks.
     * @summary Get Details On All Created Webhooks
     * @param {string} organizationId The Organization Identifier.
     * @param {string} productId The Product Identifier.
     * @param {string} eventType The Event Type.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getWebhookSubscriptionsByOrg(organizationId: string, productId: string, eventType: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<Array<InlineResponse2006>>>>;
    /**
     * Store and manage certificates that will be used to preform Message Level Encryption (MLE). Each new webhook will need its own unique asymmetric certificate. You can either use a digital certificate issued/signed by a CA or self-sign your own using the documentation available on the Developer Guide.
     * @summary Message Level Encryption
     * @param {V2KeysasymBody1} body Provide egress Asymmetric key information to save (create or store)
     * @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 {string} [vCCorrelationId] A globally unique id associated with your request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    saveAsymEgressKey(body: V2KeysasymBody1, vCSenderOrganizationId: string, vCPermissions: string, vCCorrelationId?: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<InlineResponse2016>>>;
    /**
     * Update the webhook subscription using PATCH.
     * @summary Update a Webhook Subscription
     * @param {string} webhookId The Webhook Identifier.
     * @param {WebhooksWebhookIdBody} [body] The webhook payload or changes to apply.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateWebhookSubscription(webhookId: string, body?: WebhooksWebhookIdBody, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>>;
};
/**
 * ManageWebhooksApi - factory interface
 * @export
 */
export declare const ManageWebhooksApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications.
     * @summary Delete a Webhook Subscription
     * @param {string} webhookId The webhook identifier.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteWebhookSubscription(webhookId: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<void>>;
    /**
     * Retrieve the details of a specific webhook by supplying the webhook ID in the path.
     * @summary Get Details On a Single Webhook
     * @param {string} webhookId The webhook Identifier
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getWebhookSubscriptionById(webhookId: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<InlineResponse2007>>;
    /**
     * Retrieve a list of all previously created webhooks.
     * @summary Get Details On All Created Webhooks
     * @param {string} organizationId The Organization Identifier.
     * @param {string} productId The Product Identifier.
     * @param {string} eventType The Event Type.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getWebhookSubscriptionsByOrg(organizationId: string, productId: string, eventType: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<Array<InlineResponse2006>>>;
    /**
     * Store and manage certificates that will be used to preform Message Level Encryption (MLE). Each new webhook will need its own unique asymmetric certificate. You can either use a digital certificate issued/signed by a CA or self-sign your own using the documentation available on the Developer Guide.
     * @summary Message Level Encryption
     * @param {V2KeysasymBody1} body Provide egress Asymmetric key information to save (create or store)
     * @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 {string} [vCCorrelationId] A globally unique id associated with your request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    saveAsymEgressKey(body: V2KeysasymBody1, vCSenderOrganizationId: string, vCPermissions: string, vCCorrelationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<InlineResponse2016>>;
    /**
     * Update the webhook subscription using PATCH.
     * @summary Update a Webhook Subscription
     * @param {string} webhookId The Webhook Identifier.
     * @param {WebhooksWebhookIdBody} [body] The webhook payload or changes to apply.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateWebhookSubscription(webhookId: string, body?: WebhooksWebhookIdBody, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<void>>;
};
/**
 * ManageWebhooksApi - object-oriented interface
 * @export
 * @class ManageWebhooksApi
 * @extends {BaseAPI}
 */
export declare class ManageWebhooksApi extends BaseAPI {
    /**
     * Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications.
     * @summary Delete a Webhook Subscription
     * @param {string} webhookId The webhook identifier.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManageWebhooksApi
     */
    deleteWebhookSubscription(webhookId: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<void>>;
    /**
     * Retrieve the details of a specific webhook by supplying the webhook ID in the path.
     * @summary Get Details On a Single Webhook
     * @param {string} webhookId The webhook Identifier
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManageWebhooksApi
     */
    getWebhookSubscriptionById(webhookId: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<InlineResponse2007>>;
    /**
     * Retrieve a list of all previously created webhooks.
     * @summary Get Details On All Created Webhooks
     * @param {string} organizationId The Organization Identifier.
     * @param {string} productId The Product Identifier.
     * @param {string} eventType The Event Type.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManageWebhooksApi
     */
    getWebhookSubscriptionsByOrg(organizationId: string, productId: string, eventType: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<Array<InlineResponse2006>>>;
    /**
     * Store and manage certificates that will be used to preform Message Level Encryption (MLE). Each new webhook will need its own unique asymmetric certificate. You can either use a digital certificate issued/signed by a CA or self-sign your own using the documentation available on the Developer Guide.
     * @summary Message Level Encryption
     * @param {V2KeysasymBody1} body Provide egress Asymmetric key information to save (create or store)
     * @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 {string} [vCCorrelationId] A globally unique id associated with your request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManageWebhooksApi
     */
    saveAsymEgressKey(body: V2KeysasymBody1, vCSenderOrganizationId: string, vCPermissions: string, vCCorrelationId?: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<InlineResponse2016>>;
    /**
     * Update the webhook subscription using PATCH.
     * @summary Update a Webhook Subscription
     * @param {string} webhookId The Webhook Identifier.
     * @param {WebhooksWebhookIdBody} [body] The webhook payload or changes to apply.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManageWebhooksApi
     */
    updateWebhookSubscription(webhookId: string, body?: WebhooksWebhookIdBody, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<void>>;
}
