import { Client } from '@vonage/server-client'; import { VetchOptions } from '@vonage/vetch'; import { AnyChannel, MessageWithFailover } from './types/Channels/index.mjs'; import { UpdateMessageStatus } from './enums/UpdateMessageStatus.mjs'; import { MessageSuccess } from './types/MessageSuccess.mjs'; import { SendMessageParams } from './types/SendMessageParams.mjs'; import { UpdateMessageParams } from './types/UpdateMessageParams.mjs'; import './types/Channels/Messenger/index.mjs'; import './types/Channels/Messenger/MessengerAudioParams.mjs'; import './types/MessageParamsAudio.mjs'; import './types/MessageParams.mjs'; import './enums/Channels.mjs'; import './enums/MessageTypes.mjs'; import './types/MessageAudioType.mjs'; import './types/Channels/Messenger/MessengerParams.mjs'; import './types/Channels/Messenger/MessengerType.mjs'; import './enums/Messenger/MessengerCategory.mjs'; import './types/Channels/Messenger/MessengerFileParams.mjs'; import './types/MessageFileType.mjs'; import './types/MessageParamsFile.mjs'; import './types/Channels/Messenger/MessengerImageParams.mjs'; import './types/MessageParamsImage.mjs'; import './types/MessageImageType.mjs'; import './types/Channels/Messenger/MessengerTextParams.mjs'; import './types/MessageParamsText.mjs'; import './types/Channels/Messenger/MessengerVideoParams.mjs'; import './types/MessageParamsVideo.mjs'; import './types/MessageVideoType.mjs'; import './types/Channels/MMS/index.mjs'; import './types/Channels/MMS/MMSAudioParams.mjs'; import './types/Channels/MMS/MMSParams.mjs'; import './types/Channels/MMS/MMSImageParams.mjs'; import './types/Channels/MMS/MMSVcardParams.mjs'; import './types/MessageVcardType.mjs'; import './types/Channels/MMS/MMSVideoParams.mjs'; import './types/Channels/Viber/index.mjs'; import './types/Channels/Viber/ViberAction.mjs'; import './types/Channels/Viber/ViberActionParams.mjs'; import './types/Channels/Viber/ViberService.mjs'; import './enums/Viber/ViberCategory.mjs'; import './types/Channels/Viber/ViberFileParams.mjs'; import './types/Channels/Viber/ViberParams.mjs'; import './types/Channels/Viber/ViberImageParams.mjs'; import './types/Channels/Viber/ViberTextParams.mjs'; import './types/Channels/Viber/ViberVideoParams.mjs'; import './types/Channels/WhatsApp/index.mjs'; import './types/Channels/WhatsApp/WhatsAppAudioParams.mjs'; import './types/Channels/WhatsApp/WhatsAppParams.mjs'; import './types/Channels/WhatsApp/WhatsAppCustomParams.mjs'; import './types/Channels/WhatsApp/WhatsAppCustomType.mjs'; import './types/Channels/WhatsApp/WhatsAppFileParams.mjs'; import './types/Channels/WhatsApp/WhatsAppImageParams.mjs'; import './types/Channels/WhatsApp/WhatsAppStickerIdType.mjs'; import './types/Channels/WhatsApp/WhatsAppStickerParams.mjs'; import './types/Channels/WhatsApp/WhatsAppStickerUrlType.mjs'; import './types/Channels/WhatsApp/WhatsAppTemplateParams.mjs'; import './types/Channels/WhatsApp/WhatsAppTemplateType.mjs'; import './types/Channels/WhatsApp/WhatsAppPolicyType.mjs'; import './enums/WhatsApp/WhatsAppLanguageCodes.mjs'; import './types/Channels/WhatsApp/WhatsAppTextParams.mjs'; import './types/Channels/WhatsApp/WhatsAppVideoParams.mjs'; import './types/Channels/WhatsApp/WhatsAppReactionParams.mjs'; import './types/Channels/WhatsApp/WhatAppReactionType.mjs'; import './types/Channels/SMSParams.mjs'; import './types/Channels/RCS/index.mjs'; import './types/Channels/RCS/RCSCustomParams.mjs'; import './types/Channels/RCS/RCSParams.mjs'; import './enums/RCS/RCSCategory.mjs'; import './types/Channels/RCS/RCSFileParams.mjs'; import './types/Channels/RCS/RCSImageParams.mjs'; import './types/Channels/RCS/RCSTextParams.mjs'; import './types/Channels/RCS/Suggestions/index.mjs'; import './types/Channels/RCS/Suggestions/RCSCreateCalendarEventSuggestionParams.mjs'; import './enums/RCS/RCSSuggestionType.mjs'; import './types/Channels/RCS/Suggestions/RCSSuggestionParams.mjs'; import './types/Channels/RCS/Suggestions/RCSDialActionSuggestionParams.mjs'; import './types/Channels/RCS/Suggestions/RCSOpenURLSuggestionParams.mjs'; import './types/Channels/RCS/Suggestions/RCSOpenURLWebviewSuggestionParams.mjs'; import './types/Channels/RCS/Suggestions/RCSReplySuggestionParams.mjs'; import './types/Channels/RCS/Suggestions/RCSShareLocationSuggestionParams.mjs'; import './types/Channels/RCS/Suggestions/RCSViewLocationSuggestionParams.mjs'; import './types/Channels/RCS/RCSVideoParams.mjs'; import './types/Channels/Email/index.mjs'; import './types/Channels/Email/HTMLEmailParams.mjs'; import './types/Channels/Email/EmailParams.mjs'; import './types/Channels/Email/EmailSettings.mjs'; import './enums/Email/EmailImportance.mjs'; import './enums/Email/EmailPriority.mjs'; import './enums/Email/EmailSensitivity.mjs'; import './types/Channels/Email/EmailRecipient.mjs'; import './types/Channels/Email/TextEmailParams.mjs'; import './types/Channels/Email/ContentEmailParams.mjs'; import './enums/Email/EmailContentTypes.mjs'; /** * Client class to interact with the Messages API which enables users to manage * send messages through various channels programmatically. * @see {@link https://developer.nexmo.com/en/messages/overview} * @group Client * * @example * Create a standalone Messages client * * ```ts * import { Messages } from '@vonage/messages'; * * const messagesClient = new Messages({ * apiKey: VONAGE_API_KEY, * apiSecret: VONAGE_API_SECRET * }); * ``` * * @example * Create an Messages client from the Vonage client * * ```ts * import { Vonage } from '@vonage/server-client'; * * const vonage = new Vonage({ * apiKey: VONAGE_API_KEY, * apiSecret: VONAGE_API_SECRET * }); * * const messagesClient = vonage.messages; * ``` */ declare class Messages extends Client { /** * Adds authentication details to the given request based on the configured * authentication type. Handle various ways the Messages API handles auth * The Messages API handles both JWT (preferred) as well as Basic so we * cannot just set a local authType * * @param {VetchOptions} request - The request to which authentication should be added. * @return {Promise} A promise that resolves to the request with added authentication. */ addAuthenticationToRequest(request: VetchOptions): Promise; /** * Sends a message using the Vonage API. * * @param {SendMessageParams | AnyChannel | MessageWithFailover} message - The message to be sent. * @return {Promise} A promise that resolves to a success response with a message UUID. */ send(message: SendMessageParams | AnyChannel | MessageWithFailover): Promise; /** * Update the status of outbound and/or inbound messages for certain * channels. For example, you can revoke outbound messages or mark inbound * messages as read. * * Please not that this endpoint is region specifc. You will need to set the * region when you create the client. * * @example * Update the status of a WhatsApp message to "read" * ```ts * const vonage = new Vonage( * { * applicationId: myAppId, * privateKey: myPrivateKey * }, * ) * * await vonage.messages.updateMessage(messageId, UpdateMessageStatus.READ); * ``` * * @param {string} messageId - The ID of the message to update. * @param {UpdateMessageStatus | string} status - The status to update the message to. * * @return {Promise} A promise that resolves to true if the message was * updated successfully. */ updateMessage(messageId: string, status: UpdateMessageStatus | string, params: UpdateMessageParams): Promise; } export { Messages };