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 EmailCampaignsClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class EmailCampaignsClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<EmailCampaignsClient.Options>;
    constructor(options: EmailCampaignsClient.Options);
    /**
     * <Note>The response payload for this endpoint has changed
     * You now need to specify which type of statistics you would like to retrieve. For more information visit [this page](https://developers.brevo.com/changelog/get-all-marketing-campaigns).</Note>
     *
     * @param {Brevo.GetEmailCampaignsRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.emailCampaigns.getEmailCampaigns()
     */
    getEmailCampaigns(request?: Brevo.GetEmailCampaignsRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetEmailCampaignsResponse>;
    private __getEmailCampaigns;
    /**
     * @param {Brevo.CreateEmailCampaignRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.emailCampaigns.createEmailCampaign({
     *         name: "Newsletter - May 2017",
     *         sender: {}
     *     })
     */
    createEmailCampaign(request: Brevo.CreateEmailCampaignRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.CreateEmailCampaignResponse>;
    private __createEmailCampaign;
    /**
     * @param {Brevo.UploadImageToGalleryRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.emailCampaigns.uploadImageToGallery({
     *         imageUrl: "https://somedomain.com/image1.jpg"
     *     })
     */
    uploadImageToGallery(request: Brevo.UploadImageToGalleryRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.UploadImageToGalleryResponse>;
    private __uploadImageToGallery;
    /**
     * @param {Brevo.GetEmailCampaignRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.emailCampaigns.getEmailCampaign({
     *         campaignId: 1000000
     *     })
     */
    getEmailCampaign(request: Brevo.GetEmailCampaignRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetEmailCampaignResponse>;
    private __getEmailCampaign;
    /**
     * @param {Brevo.UpdateEmailCampaignRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.emailCampaigns.updateEmailCampaign({
     *         campaignId: 1000000
     *     })
     */
    updateEmailCampaign(request: Brevo.UpdateEmailCampaignRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __updateEmailCampaign;
    /**
     * @param {Brevo.DeleteEmailCampaignRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.emailCampaigns.deleteEmailCampaign({
     *         campaignId: 1000000
     *     })
     */
    deleteEmailCampaign(request: Brevo.DeleteEmailCampaignRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteEmailCampaign;
    /**
     * Obtain winning version of an A/B test email campaign
     *
     * @param {Brevo.GetAbTestCampaignResultRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.emailCampaigns.getAbTestCampaignResult({
     *         campaignId: 1000000
     *     })
     */
    getAbTestCampaignResult(request: Brevo.GetAbTestCampaignResultRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetAbTestCampaignResultResponse>;
    private __getAbTestCampaignResult;
    /**
     * @param {Brevo.EmailExportRecipientsRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.emailCampaigns.emailExportRecipients({
     *         campaignId: 1000000,
     *         recipientsType: "all"
     *     })
     */
    emailExportRecipients(request: Brevo.EmailExportRecipientsRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.EmailExportRecipientsResponse>;
    private __emailExportRecipients;
    /**
     * @param {Brevo.SendEmailCampaignNowRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.PaymentRequiredError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.emailCampaigns.sendEmailCampaignNow({
     *         campaignId: 1000000
     *     })
     */
    sendEmailCampaignNow(request: Brevo.SendEmailCampaignNowRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __sendEmailCampaignNow;
    /**
     * A PDF will be sent to the specified email addresses
     *
     * @param {Brevo.SendReportRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.emailCampaigns.sendReport({
     *         campaignId: 1000000,
     *         body: {
     *             email: {
     *                 body: "Please find attached the report of our last email campaign.",
     *                 to: ["jim.suehan@example.com"]
     *             }
     *         }
     *     })
     */
    sendReport(request: Brevo.SendReportRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __sendReport;
    /**
     * @param {Brevo.SendTestEmailRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.emailCampaigns.sendTestEmail({
     *         campaignId: 1000000,
     *         body: {}
     *     })
     */
    sendTestEmail(request: Brevo.SendTestEmailRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __sendTestEmail;
    /**
     * Get a unique URL to share & import an email template from one Brevo account to another.
     *
     * @param {Brevo.GetSharedTemplateUrlRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link Brevo.MethodNotAllowedError}
     *
     * @example
     *     await client.emailCampaigns.getSharedTemplateUrl({
     *         campaignId: 1000000
     *     })
     */
    getSharedTemplateUrl(request: Brevo.GetSharedTemplateUrlRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetSharedTemplateUrlResponse>;
    private __getSharedTemplateUrl;
    /**
     * @param {Brevo.UpdateCampaignStatusRequest} request
     * @param {EmailCampaignsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.emailCampaigns.updateCampaignStatus({
     *         campaignId: 1000000,
     *         body: {}
     *     })
     */
    updateCampaignStatus(request: Brevo.UpdateCampaignStatusRequest, requestOptions?: EmailCampaignsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __updateCampaignStatus;
}
