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 ContactsClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class ContactsClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<ContactsClient.Options>;
    constructor(options: ContactsClient.Options);
    /**
     * Retrieve all contacts from your Brevo account with support for pagination, filtering, and sorting. Results default to 50 contacts per page (maximum 1000) sorted in descending order of creation, and can be filtered by modification date, creation date, contact IDs (up to 20), list IDs, segment ID, or contact attributes using the equals operator. Note that either listIds or segmentId can be passed but not both simultaneously.
     *
     * @param {Brevo.GetContactsRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.TooManyRequestsError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getContacts()
     */
    getContacts(request?: Brevo.GetContactsRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetContacts>;
    private __getContacts;
    /**
     * <Note>Follow this format when passing a "SMS" phone number as an attribute.
     * Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx</Note>
     * Creates new contacts on Brevo. Contacts can be created by passing either - <br><br> 1. email address of the contact (email_id),  <br> 2. phone number of the contact (to be passed as "SMS" field in "attributes" along with proper country code), For example- {"SMS":"+91xxxxxxxxxx"} or {"SMS":"0091xxxxxxxxxx"} <br> 3. ext_id <br>
     *
     * @param {Brevo.CreateContactRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.TooEarlyError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.createContact()
     */
    createContact(request?: Brevo.CreateContactRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.CreateContactResponse | undefined>;
    private __createContact;
    /**
     * Retrieve all contact attributes defined in your Brevo account, grouped by category (normal, transactional, category, calculated, global). Each attribute includes its name, type, and category, along with enumeration values for category-type attributes and options for multiple-choice-type attributes.
     *
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getAttributes()
     */
    getAttributes(requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetAttributesResponse>;
    private __getAttributes;
    /**
     * Create a new contact attribute under the specified category and name. The required body properties depend on the category: use "type" for normal, transactional, or category attributes; use "value" for calculated or global attributes; use "enumeration" for category attributes; and use "multiCategoryOptions" for normal multiple-choice attributes. None of the category or multicategory option values can exceed 200 characters.
     *
     * @param {Brevo.CreateAttributeRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.createAttribute({
     *         attributeCategory: "normal",
     *         attributeName: "attributeName"
     *     })
     */
    createAttribute(request: Brevo.CreateAttributeRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __createAttribute;
    /**
     * Update an existing contact attribute identified by its category and name. For category-type attributes, you can update the enumeration values; for calculated or global attributes, update the computed value formula; and for normal multiple-choice attributes, update the multicategory options. None of the category or multicategory option values can exceed 200 characters.
     *
     * @param {Brevo.UpdateAttributeRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.updateAttribute({
     *         attributeCategory: "category",
     *         attributeName: "attributeName"
     *     })
     */
    updateAttribute(request: Brevo.UpdateAttributeRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __updateAttribute;
    /**
     * Permanently delete an existing contact attribute by its category and name. The attribute must exist in the specified category (normal, transactional, category, calculated, or global), otherwise a 404 error is returned.
     *
     * @param {Brevo.DeleteAttributeRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.deleteAttribute({
     *         attributeCategory: "normal",
     *         attributeName: "attributeName"
     *     })
     */
    deleteAttribute(request: Brevo.DeleteAttributeRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteAttribute;
    /**
     * Delete a specific option from an existing multiple-choice contact attribute. The attribute type must be "multiple-choice", and both the attribute name and the option to delete must already exist in your account.
     *
     * @param {Brevo.DeleteMultiAttributeOptionsRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.deleteMultiAttributeOptions({
     *         attributeType: "multiple-choice",
     *         multipleChoiceAttribute: "multipleChoiceAttribute",
     *         multipleChoiceAttributeOption: "multipleChoiceAttributeOption"
     *     })
     */
    deleteMultiAttributeOptions(request: Brevo.DeleteMultiAttributeOptionsRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteMultiAttributeOptions;
    /**
     * Update multiple contacts in a single API call by passing an array of contact objects. Each contact in the array must be identified by one of: email, id, or sms (only one identifier per contact). You can update attributes, blacklist status, list memberships, ext_id, and transactional email forbidden senders for each contact in the batch.
     *
     * @param {Brevo.UpdateBatchContactsRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.updateBatchContacts()
     */
    updateBatchContacts(request?: Brevo.UpdateBatchContactsRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __updateBatchContacts;
    /**
     * <Note title="How to use attributes param?">attributes param in this endpoint is an object containing key-value pairs where values can be either a string, integer, array, or boolean. You can create key-value pairs with these four datatypes. When a value is an array, it should be an array of strings.</Note>
     *
     * @param {Brevo.CreateDoiContactRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.createDoiContact({
     *         email: "elly@example.com",
     *         includeListIds: [36],
     *         redirectionUrl: "http://requestb.in/173lyyx1",
     *         templateId: 2
     *     })
     */
    createDoiContact(request: Brevo.CreateDoiContactRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __createDoiContact;
    /**
     * It returns the background process ID which on completion calls the notify URL that you have set in the input. File will be available in csv.
     *
     * @param {Brevo.RequestContactExportRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.TooManyRequestsError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.requestContactExport({
     *         customContactFilter: {}
     *     })
     */
    requestContactExport(request: Brevo.RequestContactExportRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.RequestContactExportResponse>;
    private __requestContactExport;
    /**
     * <Note>Ongoing changes for this endpoint
     * We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
     * These are non breaking changes.
     * The default value for the attributes will be 0.
     * The uniqueSubscribers field is deprecated</Note>
     *
     * @param {Brevo.GetFoldersRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getFolders()
     */
    getFolders(request?: Brevo.GetFoldersRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetFoldersResponse>;
    private __getFolders;
    /**
     * Create a new folder to organize your contact lists. Folders serve as containers for grouping related lists together. The folder name is required and must be provided in the request body.
     *
     * @param {Brevo.CreateUpdateFolder} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.createFolder({})
     */
    createFolder(request: Brevo.CreateUpdateFolder, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.CreateFolderResponse>;
    private __createFolder;
    /**
     * <Note>Ongoing changes for this endpoint.
     * We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
     * These are non breaking changes. The default value for the attributes will be 0.</Note>
     *
     * @param {Brevo.GetFolderRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getFolder({
     *         folderId: 1000000
     *     })
     */
    getFolder(request: Brevo.GetFolderRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetFolder>;
    private __getFolder;
    /**
     * Update the name of an existing folder identified by its ID. The new folder name must be provided in the request body. Returns a 404 error if the folder ID does not exist.
     *
     * @param {Brevo.UpdateFolderRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.updateFolder({
     *         folderId: 1000000,
     *         body: {}
     *     })
     */
    updateFolder(request: Brevo.UpdateFolderRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __updateFolder;
    /**
     * Permanently delete a folder identified by its ID. Deleting a folder will also delete all the contact lists contained within it. This action cannot be undone.
     *
     * @param {Brevo.DeleteFolderRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.deleteFolder({
     *         folderId: 1000000
     *     })
     */
    deleteFolder(request: Brevo.DeleteFolderRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteFolder;
    /**
     * <Note>Ongoing changes for this endpoint.
     * We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
     * These are non breaking changes. The default value for the attributes will be 0.</Note>
     *
     * @param {Brevo.GetFolderListsRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getFolderLists({
     *         folderId: 1000000
     *     })
     */
    getFolderLists(request: Brevo.GetFolderListsRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetFolderListsResponse>;
    private __getFolderLists;
    /**
     * It returns the background process ID which on completion calls the notify URL that you have set in the input. **Note**: - Any contact attribute that doesn't exist in your account will be ignored at import end.
     *
     * @param {Brevo.ImportContactsRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.importContacts()
     */
    importContacts(request?: Brevo.ImportContactsRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.ImportContactsResponse>;
    private __importContacts;
    /**
     * <Note>Ongoing changes for this endpoint.
     * We're dropping support for the response attributes totalSubscribers and totalBlacklisted.
     * These are non breaking changes. The default value for the attributes will be 0.</Note>
     *
     * @param {Brevo.GetListsRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getLists()
     */
    getLists(request?: Brevo.GetListsRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetListsResponse>;
    private __getLists;
    /**
     * Create a new contact list inside a specified folder. Both the list name and the parent folder ID are required. The newly created list will be empty and ready to receive contacts via the add contacts endpoint.
     *
     * @param {Brevo.CreateListRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.createList({
     *         folderId: 2,
     *         name: "Magento Customer - ES"
     *     })
     */
    createList(request: Brevo.CreateListRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.CreateListResponse>;
    private __createList;
    /**
     * Retrieve the details of a specific contact list by its ID, including its name, folder ID, creation date, subscriber counts, and campaign statistics. You can optionally filter campaign statistics by providing startDate and endDate parameters (both must be used together in YYYY-MM-DD format).
     *
     * @param {Brevo.GetListRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getList({
     *         listId: 1000000
     *     })
     */
    getList(request: Brevo.GetListRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetListResponse>;
    private __getList;
    /**
     * Update an existing contact list identified by its ID. You can update the list name, move it to a different folder by providing a new folderId, or both. Only one of the two parameters (name, folderId) needs to be provided per request.
     *
     * @param {Brevo.UpdateListRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.updateList({
     *         listId: 1000000
     *     })
     */
    updateList(request: Brevo.UpdateListRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __updateList;
    /**
     * Permanently delete a contact list identified by its ID. The contacts in the list are not deleted; they are only removed from this list. Returns a 404 error if the list ID does not exist.
     *
     * @param {Brevo.DeleteListRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.deleteList({
     *         listId: 1000000
     *     })
     */
    deleteList(request: Brevo.DeleteListRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteList;
    /**
     * Retrieve all contacts belonging to a specific list, identified by its list ID. Results are paginated with a default of 50 contacts per page (maximum 500) and sorted in descending order of creation. You can optionally filter contacts by their modification date using the modifiedSince parameter.
     *
     * @param {Brevo.GetContactsFromListRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link Brevo.TooManyRequestsError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getContactsFromList({
     *         listId: 1000000
     *     })
     */
    getContactsFromList(request: Brevo.GetContactsFromListRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetContacts>;
    private __getContactsFromList;
    /**
     * @param {Brevo.AddContactToListRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.addContactToList({
     *         listId: 1000000,
     *         body: {
     *             emails: ["jeff32@example.com", "jim56@example.com"]
     *         }
     *     })
     *
     * @example
     *     await client.contacts.addContactToList({
     *         listId: 1000000,
     *         body: {
     *             extIds: ["ext234", "ext456"]
     *         }
     *     })
     *
     * @example
     *     await client.contacts.addContactToList({
     *         listId: 1000000,
     *         body: {
     *             ids: [1, 2]
     *         }
     *     })
     */
    addContactToList(request: Brevo.AddContactToListRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.PostContactInfo>;
    private __addContactToList;
    /**
     * @param {Brevo.RemoveContactFromListRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.removeContactFromList({
     *         listId: 1000000,
     *         body: {
     *             all: true
     *         }
     *     })
     *
     * @example
     *     await client.contacts.removeContactFromList({
     *         listId: 1000000,
     *         body: {
     *             emails: ["jeff32@example.com", "jim56@example.com"]
     *         }
     *     })
     *
     * @example
     *     await client.contacts.removeContactFromList({
     *         listId: 1000000,
     *         body: {
     *             extIds: ["ext234", "ext456"]
     *         }
     *     })
     *
     * @example
     *     await client.contacts.removeContactFromList({
     *         listId: 1000000,
     *         body: {
     *             ids: [1, 2]
     *         }
     *     })
     */
    removeContactFromList(request: Brevo.RemoveContactFromListRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.PostContactInfo>;
    private __removeContactFromList;
    /**
     * Retrieve all contact segments defined in your Brevo account with support for pagination and sorting. Results default to 10 segments per page (maximum 50) sorted in descending order of creation. Each segment includes its ID, name, category name, and last update timestamp.
     *
     * @param {Brevo.GetSegmentsRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getSegments()
     */
    getSegments(request?: Brevo.GetSegmentsRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetSegmentsResponse>;
    private __getSegments;
    /**
     * <Note>Follow this format when passing a "SMS" phone number as an attribute.
     * Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx</Note>
     * There are 2 ways to get a contact <br><br> Option 1- https://api.brevo.com/v3/contacts/{identifier} <br><br> Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={} <br> <br> Option 1 only works if identifierType is email_id (for EMAIL), phone_id (for SMS) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL, SMS and ID of the contact.   <br><br> Option 2 works for all identifierType, use email_id for EMAIL attribute, phone_id for SMS attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute <br><br>Along with the contact details, this endpoint will show the statistics of contact for the recent 90 days by default. To fetch the earlier statistics, please use Get contact campaign stats ``https://developers.brevo.com/reference/contacts-7#getcontactstats`` endpoint with the appropriate date ranges.
     *
     * @param {Brevo.GetContactInfoRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getContactInfo({
     *         identifier: "identifier"
     *     })
     */
    getContactInfo(request: Brevo.GetContactInfoRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetContactInfoResponse>;
    private __getContactInfo;
    /**
     * <Note>Follow this format when passing a "SMS" phone number as an attribute.
     * Accepted Number Formats 91xxxxxxxxxx +91xxxxxxxxxx 0091xxxxxxxxxx <br><br> If a blocklisted contact's email address is updated, it is going to remove that blocklisting from the contact and they will be resubscribed.</Note>
     * There are 2 ways to update a contact <br><br> Option 1- https://api.brevo.com/v3/contacts/{identifier} <br><br> Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={} <br> <br> Option 1 only works if identifierType is email_id (for EMAIL) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL and ID of the contact.   <br><br> Option 2 works for all identifierType, use email_id for EMAIL attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE attribute
     *
     * @param {Brevo.UpdateContactRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link Brevo.TooEarlyError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.updateContact({
     *         identifier: "identifier"
     *     })
     */
    updateContact(request: Brevo.UpdateContactRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __updateContact;
    /**
     * There are 2 ways to delete a contact <br><br> Option 1- https://api.brevo.com/v3/contacts/{identifier} <br><br> Option 2- https://api.brevo.com/v3/contacts/{identifier}?identifierType={} <br> <br> Option 1 only works if identifierType is email_id (for EMAIL) or contact_id (for ID of the contact),where you can directly pass the value of EMAIL and ID of the contact.   <br><br> Option 2 works for all identifierType, use email_id for EMAIL attribute, contact_id for ID of the contact, ext_id for EXT_ID attribute, phone_id for SMS attribute, whatsapp_id for WHATSAPP attribute, landline_number_id for LANDLINE_NUMBER attribute.
     *
     * @param {Brevo.DeleteContactRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link Brevo.MethodNotAllowedError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.deleteContact({
     *         identifier: "identifier"
     *     })
     */
    deleteContact(request: Brevo.DeleteContactRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteContact;
    /**
     * Retrieve email campaign statistics for a specific contact identified by email address or numeric ID. Statistics include messages sent, opens, clicks, hard/soft bounces, deliveries, unsubscriptions, complaints, and transactional attributes. By default, data covers the last 90 days; use startDate and endDate parameters (YYYY-MM-DD) to specify a custom range with a maximum span of 90 days.
     *
     * @param {Brevo.GetContactStatsRequest} request
     * @param {ContactsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     * @throws {@link errors.BrevoError}
     * @throws {@link errors.BrevoTimeoutError}
     *
     * @example
     *     await client.contacts.getContactStats({
     *         identifier: "identifier"
     *     })
     */
    getContactStats(request: Brevo.GetContactStatsRequest, requestOptions?: ContactsClient.RequestOptions): core.HttpResponsePromise<Brevo.GetContactStatsResponse>;
    private __getContactStats;
}
