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 WhatsAppCampaignsClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class WhatsAppCampaignsClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<WhatsAppCampaignsClient.Options>;
    constructor(options: WhatsAppCampaignsClient.Options);
    /**
     * @param {Brevo.GetWhatsAppCampaignsRequest} request
     * @param {WhatsAppCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.whatsAppCampaigns.getWhatsAppCampaigns()
     */
    getWhatsAppCampaigns(request?: Brevo.GetWhatsAppCampaignsRequest, requestOptions?: WhatsAppCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetWhatsAppCampaignsResponse>;
    private __getWhatsAppCampaigns;
    /**
     * <Note>You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
     * [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account</Note>
     * <Note>This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
     * [Get all the Lists](https://developers.brevo.com/reference/getlists-1)
     * [Get all the Segments](https://developers.brevo.com/reference/getsegments)</Note>
     *
     * @param {Brevo.CreateWhatsAppCampaignRequest} request
     * @param {WhatsAppCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.whatsAppCampaigns.createWhatsAppCampaign({
     *         name: "Test Campaign",
     *         recipients: {},
     *         scheduledAt: "2017-06-01T12:30:00+02:00",
     *         templateId: 19
     *     })
     */
    createWhatsAppCampaign(request: Brevo.CreateWhatsAppCampaignRequest, requestOptions?: WhatsAppCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.CreateWhatsAppCampaignResponse>;
    private __createWhatsAppCampaign;
    /**
     * <Note>You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
     * [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account</Note>
     *
     * @param {WhatsAppCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.whatsAppCampaigns.getWhatsAppConfig()
     */
    getWhatsAppConfig(requestOptions?: WhatsAppCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetWhatsAppConfigResponse>;
    private __getWhatsAppConfig;
    /**
     * <Note>You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
     * [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account</Note>
     *
     * @param {Brevo.CreateWhatsAppTemplateRequest} request
     * @param {WhatsAppCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.whatsAppCampaigns.createWhatsAppTemplate({
     *         bodyText: "making it look like readable English",
     *         category: "MARKETING",
     *         language: "en",
     *         name: "Test template"
     *     })
     */
    createWhatsAppTemplate(request: Brevo.CreateWhatsAppTemplateRequest, requestOptions?: WhatsAppCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.CreateWhatsAppTemplateResponse>;
    private __createWhatsAppTemplate;
    /**
     * @param {Brevo.GetWhatsAppTemplatesRequest} request
     * @param {WhatsAppCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.whatsAppCampaigns.getWhatsAppTemplates()
     */
    getWhatsAppTemplates(request?: Brevo.GetWhatsAppTemplatesRequest, requestOptions?: WhatsAppCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetWhatsAppTemplatesResponse>;
    private __getWhatsAppTemplates;
    /**
     * <Note>You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
     * [Activating WhatsApp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account</Note>
     *
     * @param {Brevo.SendWhatsAppTemplateApprovalRequest} request
     * @param {WhatsAppCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.whatsAppCampaigns.sendWhatsAppTemplateApproval({
     *         templateId: 1000000
     *     })
     */
    sendWhatsAppTemplateApproval(request: Brevo.SendWhatsAppTemplateApprovalRequest, requestOptions?: WhatsAppCampaignsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __sendWhatsAppTemplateApproval;
    /**
     * <Note>You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
     * [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account</Note>
     * <Note>This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
     * [Get all the Lists](https://developers.brevo.com/reference/getlists-1)
     * [Get all the Segments](https://developers.brevo.com/reference/getsegments)</Note>
     *
     * @param {Brevo.GetWhatsAppCampaignRequest} request
     * @param {WhatsAppCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.whatsAppCampaigns.getWhatsAppCampaign({
     *         campaignId: 1000000
     *     })
     */
    getWhatsAppCampaign(request: Brevo.GetWhatsAppCampaignRequest, requestOptions?: WhatsAppCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetWhatsAppCampaignResponse>;
    private __getWhatsAppCampaign;
    /**
     * <Note>You can use this API for WhatsApp only if you have setup your WhatsApp account on Brevo platform. To setup your WhatsApp account, follow the steps in the guide below.
     * [Activating Whatsapp](https://developers.brevo.com/docs/whatsapp-campaigns-1) in your account</Note>
     * <Note>This API requires the List and Segment ids as recipients in Body params.You can use the below Contact endpoints to get the required information.
     * [Get all the Lists](https://developers.brevo.com/reference/getlists-1)
     * [Get all the Segments](https://developers.brevo.com/reference/getsegments)</Note>
     *
     * @param {Brevo.UpdateWhatsAppCampaignRequest} request
     * @param {WhatsAppCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.whatsAppCampaigns.updateWhatsAppCampaign({
     *         campaignId: 1000000
     *     })
     */
    updateWhatsAppCampaign(request: Brevo.UpdateWhatsAppCampaignRequest, requestOptions?: WhatsAppCampaignsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __updateWhatsAppCampaign;
    /**
     * @param {Brevo.DeleteWhatsAppCampaignRequest} request
     * @param {WhatsAppCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.whatsAppCampaigns.deleteWhatsAppCampaign({
     *         campaignId: 1000000
     *     })
     */
    deleteWhatsAppCampaign(request: Brevo.DeleteWhatsAppCampaignRequest, requestOptions?: WhatsAppCampaignsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteWhatsAppCampaign;
}
