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 TransactionalSmsClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class TransactionalSmsClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<TransactionalSmsClient.Options>;
    constructor(options: TransactionalSmsClient.Options);
    /**
     * <Note>If the user includes stop code in the Transactional SMS, then it will be switched to Marketing SMS automatically and it will be interpreted as a Marketing SMS. To send Transactional SMS as Transactional, it is important not to use stop code.
     * Note: For adding a stop code, client has to add reply STOP to [STOP_CODE] and the [STOP_CODE] will be replaced with the number.</Note>
     * <Note title="For end users in France">Transactional SMS can be sent at any time without time restrictions. However, if a message is categorized as Marketing, it must adhere to specific time restrictions. Messages sent outside of these restricted hours will experience delays and will be processed during allowable times. Specifically, Marketing SMS cannot be processed between 10pm and 8am, on Sundays, and on French public holidays.</Note>
     *
     * @param {Brevo.SendTransacSms} request
     * @param {TransactionalSmsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.transactionalSms.sendAsyncTransactionalSms({
     *         recipient: "33689965433",
     *         sender: "MyShop"
     *     })
     */
    sendAsyncTransactionalSms(request: Brevo.SendTransacSms, requestOptions?: TransactionalSmsClient.RequestOptions): core.HttpResponsePromise<Brevo.SendAsyncTransactionalSmsResponse>;
    private __sendAsyncTransactionalSms;
    /**
     * @deprecated
     *
     * @param {Brevo.SendTransacSms} request
     * @param {TransactionalSmsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.PaymentRequiredError}
     *
     * @example
     *     await client.transactionalSms.sendTransacSms({
     *         recipient: "33689965433",
     *         sender: "MyShop"
     *     })
     */
    sendTransacSms(request: Brevo.SendTransacSms, requestOptions?: TransactionalSmsClient.RequestOptions): core.HttpResponsePromise<Brevo.SendTransacSmsResponse>;
    private __sendTransacSms;
    /**
     * @param {Brevo.GetTransacAggregatedSmsReportRequest} request
     * @param {TransactionalSmsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.transactionalSms.getTransacAggregatedSmsReport()
     */
    getTransacAggregatedSmsReport(request?: Brevo.GetTransacAggregatedSmsReportRequest, requestOptions?: TransactionalSmsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetTransacAggregatedSmsReportResponse>;
    private __getTransacAggregatedSmsReport;
    /**
     * @param {Brevo.GetSmsEventsRequest} request
     * @param {TransactionalSmsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.transactionalSms.getSmsEvents()
     */
    getSmsEvents(request?: Brevo.GetSmsEventsRequest, requestOptions?: TransactionalSmsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetSmsEventsResponse>;
    private __getSmsEvents;
    /**
     * @param {Brevo.GetTransacSmsReportRequest} request
     * @param {TransactionalSmsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.transactionalSms.getTransacSmsReport()
     */
    getTransacSmsReport(request?: Brevo.GetTransacSmsReportRequest, requestOptions?: TransactionalSmsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetTransacSmsReportResponse>;
    private __getTransacSmsReport;
}
