import { ApiListPromise } from '@sinch/sdk-client'; import { Contact, CreateContactRequestData, DeleteContactRequestData, GetChannelProfileRequestData, GetChannelProfileResponse, GetContactRequestData, IdentityConflict, ListContactsRequestData, ListIdentityConflictsRequestData, MergeContactRequestData, Recipient, UpdateContactRequestData } from '../../../models'; import { ConversationDomainApi } from '../conversation-domain-api'; import { LazyConversationApiClient } from '../conversation-service'; export declare class ContactApi extends ConversationDomainApi { constructor(lazyApiClient: LazyConversationApiClient); /** * Create a Contact * Most Conversation API contacts are [created automatically](https://developers.sinch.com/docs/conversation/contact-management/) when a message is sent to a new recipient. You can also create a new contact manually using this API call. * @param { CreateContactRequestData } data - The data to provide to the API call. */ create(data: CreateContactRequestData): Promise; /** * Delete a Contact * Delete a contact as specified by the contact ID. * @param { DeleteContactRequestData } data - The data to provide to the API call. */ delete(data: DeleteContactRequestData): Promise; /** * Get Channel Profile * Get user profile from a specific channel. Only supported on 'MESSENGER', 'INSTAGRAM', 'VIBER' and LINE' channels. * Note that, in order to retrieve a WhatsApp display name, you can use the Get a Contact or List Contacts operations, which will populate the 'display_name' field of each returned contact with the WhatsApp display name (if the name is already stored on the server and the 'display_name' field has not been overwritten by the user). * @param { GetChannelProfileRequestData } data - The data to provide to the API call. */ getChannelProfile(data: GetChannelProfileRequestData): Promise; /** * Get a Contact * Returns a specific contact as specified by the contact ID. Note the following: * - If a WhatsApp contact is returned, the `display_name` field of that contact may be populated with the WhatsApp display name (if the name is already stored on the server and the `display_name` field has not been overwritten by the user). * - If you receive an Inbound Message callback for an MO message on the Instagram channel, the corresponding payload will not include the Instagram username. You may use the `contact_id` and `channel_identity` values included in the callback to retrieve the username (detailed in the `display_name` field) with this Conversation API operation. * @param { GetContactRequestData } data - The data to provide to the API call. */ get(data: GetContactRequestData): Promise; /** * List Contacts * List all contacts in the project. Note that, if a WhatsApp contact is returned, the `display_name` field of that contact may be populated with the WhatsApp display name (if the name is already stored on the server and the `display_name` field has not been overwritten by the user). * @param { ListContactsRequestData } data - The data to provide to the API call. * @return {ApiListPromise} */ list(data?: ListContactsRequestData): ApiListPromise; /** * Lists Contact Identity Conflicts * Lists contact identity conflicts across supported SIM-based channels (SMS, MMS, RCS). Use this to identify contact records sharing the same identity (e.g., phone number), which must be resolved before enabling the Unified Contact ID feature. * @param { ListIdentityConflictsRequestData } data - The data to provide to the API call. * @return {ApiListPromise} */ listIdentityConflicts(data: ListIdentityConflictsRequestData): ApiListPromise; /** * Merge two Contacts * The remaining contact will contain all conversations that the removed contact did. If both contacts had conversations within the same App, messages from the removed contact will be merged into corresponding active conversations in the destination contact. Channel identities will be moved from the source contact to the destination contact only for channels that weren\'t present there before. Moved channel identities will be placed at the bottom of the channel priority list. Optional fields from the source contact will be copied only if corresponding fields in the destination contact are empty The contact being removed cannot be referenced after this call. * @param { MergeContactRequestData } data - The data to provide to the API call. */ mergeContact(data: MergeContactRequestData): Promise; /** * Update a Contact * Updates a contact as specified by the contact ID. * @param { UpdateContactRequestData } data - The data to provide to the API call. */ update(data: UpdateContactRequestData): Promise; }