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 EventClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class EventClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<EventClient.Options>;
    constructor(options: EventClient.Options);
    /**
     * <Note>
     * This endpoint currently only supports custom events.
     * </Note>
     *
     * Retrieve a list of events filtered by various criteria.
     *
     * @param {Brevo.GetEventsRequest} request
     * @param {EventClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.UnauthorizedError}
     * @throws {@link Brevo.InternalServerError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.event.getEvents()
     */
    getEvents(request?: Brevo.GetEventsRequest, requestOptions?: EventClient.RequestOptions): core.HttpResponsePromise<Brevo.GetEventsList>;
    private __getEvents;
    /**
     * Create an event to track a contact's interaction.
     *
     * @param {Brevo.CreateEventRequest} request
     * @param {EventClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.UnauthorizedError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.event.createEvent({
     *         event_name: "video_played",
     *         identifiers: {}
     *     })
     */
    createEvent(request: Brevo.CreateEventRequest, requestOptions?: EventClient.RequestOptions): core.HttpResponsePromise<void>;
    private __createEvent;
    /**
     * Create multiple events to track contacts' interactions in a single request.
     *
     * @param {Brevo.CreateBatchEventsRequest} request
     * @param {EventClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.UnauthorizedError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.event.createBatchEvents({
     *         events: [{
     *                 event_name: "order_created",
     *                 identifiers: {}
     *             }]
     *     })
     */
    createBatchEvents(request: Brevo.CreateBatchEventsRequest, requestOptions?: EventClient.RequestOptions): core.HttpResponsePromise<Brevo.BatchAcceptedResponse>;
    private __createBatchEvents;
}
