import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.js";
import * as core from "../../../../core/index.js";
import * as Brevo from "../../../index.js";
export declare namespace WebhooksClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class WebhooksClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<WebhooksClient.Options>;
    constructor(options: WebhooksClient.Options);
    /**
     * Retrieves all webhooks from your Brevo account with filtering and sorting options.
     *
     * Use this to:
     * - Monitor webhook configurations and event handling
     * - List webhooks by type (transactional, marketing, inbound)
     * - Review webhook endpoints and authentication
     * - Track webhook creation and modification history
     * - Audit webhook event subscriptions
     *
     * Key information returned:
     * - Complete webhook details and configuration
     * - Event types and channel subscriptions
     * - Authentication and security settings
     * - Webhook URLs and custom headers
     * - Creation and modification timestamps
     *
     * @param {Brevo.GetWebhooksRequest} request
     * @param {WebhooksClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.webhooks.getWebhooks()
     */
    getWebhooks(request?: Brevo.GetWebhooksRequest, requestOptions?: WebhooksClient.RequestOptions): core.HttpResponsePromise<Brevo.GetWebhooksResponse>;
    private __getWebhooks;
    /**
     * Creates a new webhook to receive real-time notifications for specified events.
     *
     * Use this to:
     * - Set up event notifications for transactional or marketing emails
     * - Configure webhook endpoints for campaign tracking
     * - Enable real-time monitoring of email delivery status
     * - Subscribe to contact list changes and updates
     * - Implement custom event handling and automation
     *
     * Key information returned:
     * - Created webhook ID and configuration
     * - Success confirmation and setup details
     *
     * @param {Brevo.CreateWebhookRequest} request
     * @param {WebhooksClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.webhooks.createWebhook({
     *         events: ["sent"],
     *         url: "http://requestb.in/173lyyx1"
     *     })
     */
    createWebhook(request: Brevo.CreateWebhookRequest, requestOptions?: WebhooksClient.RequestOptions): core.HttpResponsePromise<Brevo.CreateWebhookResponse>;
    private __createWebhook;
    /**
     * <Note>
     * This is an enterprise feature. Contact us to activate it for your account.
     * </Note>
     *
     * Submits a request to export webhook event history as a CSV file. The download link is sent to the `notifyURL` you provide in the request body.
     *
     * Use this endpoint to:
     * - Export webhook event history filtered by date range, event type, or email address
     * - Generate reports for compliance, auditing, or performance analysis
     * - Track delivery patterns and webhook reliability over time
     *
     * @param {Brevo.ExportWebhooksHistoryRequest} request
     * @param {WebhooksClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.webhooks.exportWebhooksHistory({
     *         event: "invalid_parameter",
     *         notifyURL: "https://brevo.com",
     *         type: "transactional"
     *     })
     */
    exportWebhooksHistory(request: Brevo.ExportWebhooksHistoryRequest, requestOptions?: WebhooksClient.RequestOptions): core.HttpResponsePromise<Brevo.ExportWebhooksHistoryResponse>;
    private __exportWebhooksHistory;
    /**
     * Retrieves detailed information about a specific webhook configuration.
     *
     * Use this to:
     * - Get complete webhook configuration and settings
     * - Check webhook event subscriptions and triggers
     * - Review authentication and security settings
     * - Verify webhook URL and custom headers
     * - Access webhook creation and modification history
     *
     * Key information returned:
     * - Complete webhook details and configuration
     * - Event types and channel subscriptions
     * - Authentication credentials and methods
     * - Custom headers and request settings
     * - Webhook status and activity information
     *
     * @param {Brevo.GetWebhookRequest} request
     * @param {WebhooksClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.webhooks.getWebhook({
     *         webhookId: 1000000
     *     })
     */
    getWebhook(request: Brevo.GetWebhookRequest, requestOptions?: WebhooksClient.RequestOptions): core.HttpResponsePromise<Brevo.GetWebhook>;
    private __getWebhook;
    /**
     * Updates an existing webhook configuration and event subscriptions.
     *
     * Use this to:
     * - Modify webhook event subscriptions and triggers
     * - Update webhook URL and endpoint configuration
     * - Change authentication settings and credentials
     * - Adjust custom headers and request parameters
     * - Enable or disable specific webhook events
     *
     * Key information returned:
     * - Success confirmation of webhook updates
     *
     * @param {Brevo.UpdateWebhookRequest} request
     * @param {WebhooksClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.webhooks.updateWebhook({
     *         webhookId: 1000000
     *     })
     */
    updateWebhook(request: Brevo.UpdateWebhookRequest, requestOptions?: WebhooksClient.RequestOptions): core.HttpResponsePromise<void>;
    private __updateWebhook;
    /**
     * Permanently deletes a webhook and stops all event notifications.
     *
     * Use this to:
     * - Remove unused or obsolete webhook configurations
     * - Clean up webhook endpoints and subscriptions
     * - Stop event notifications to specific URLs
     * - Maintain organized webhook management
     *
     * Key information returned:
     * - Success confirmation of webhook deletion
     *
     * @param {Brevo.DeleteWebhookRequest} request
     * @param {WebhooksClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.webhooks.deleteWebhook({
     *         webhookId: 1000000
     *     })
     */
    deleteWebhook(request: Brevo.DeleteWebhookRequest, requestOptions?: WebhooksClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteWebhook;
}
