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 PaymentsClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class PaymentsClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<PaymentsClient.Options>;
    constructor(options: PaymentsClient.Options);
    /**
     * Create a new payment request for a Brevo contact. The request requires a reference (displayed on the payment page), a contact ID, and a cart with currency and amount in cents. You can optionally configure a custom success redirect URL and enable email notifications with reminders. Returns the payment request ID and its public payment URL. A `403` error is returned if Brevo Payments is not activated or the account is not validated.
     *
     * @param {Brevo.CreatePaymentRequestRequest} request
     * @param {PaymentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.UnauthorizedError}
     * @throws {@link Brevo.ForbiddenError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.payments.createPaymentRequest({
     *         cart: {
     *             currency: "EUR",
     *             specificAmount: 1200
     *         },
     *         contactId: 43,
     *         reference: "Invoice #INV0001"
     *     })
     */
    createPaymentRequest(request: Brevo.CreatePaymentRequestRequest, requestOptions?: PaymentsClient.RequestOptions): core.HttpResponsePromise<Brevo.CreatePaymentRequestResponse>;
    private __createPaymentRequest;
    /**
     * Retrieve the details of a specific payment request by its ID. The response includes the reference, status (created, sent, reminderSent, or paid), cart details, notification configuration, contact ID, and the number of reminders sent. Returns a `404` error if no payment request matches the provided ID.
     *
     * @param {Brevo.GetPaymentRequestRequest} request
     * @param {PaymentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.UnauthorizedError}
     * @throws {@link Brevo.ForbiddenError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.payments.getPaymentRequest({
     *         id: "050db7b0-9bb7-4c1e-9c68-5a8dace8c1dc"
     *     })
     */
    getPaymentRequest(request: Brevo.GetPaymentRequestRequest, requestOptions?: PaymentsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetPaymentRequestResponse>;
    private __getPaymentRequest;
    /**
     * Delete a payment request by its UUID. Once deleted, the payment request can no longer be accessed or paid. Returns a `404` error if no payment request matches the provided ID, and a `403` error if Brevo Payments is not activated or the account is not validated.
     *
     * @param {Brevo.DeletePaymentRequestRequest} request
     * @param {PaymentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.UnauthorizedError}
     * @throws {@link Brevo.ForbiddenError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.payments.deletePaymentRequest({
     *         id: "9ae7d68a-565c-4695-9381-d8fb3e3a14cc"
     *     })
     */
    deletePaymentRequest(request: Brevo.DeletePaymentRequestRequest, requestOptions?: PaymentsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deletePaymentRequest;
}
