import { AbstractMessage } from '../AbstractMessage.js'; import { Channels } from '../../enums/Channels.js'; import { MessageTypes } from '../../enums/MessageTypes.js'; import { RCSCustomParams } from '../../types/Channels/RCS/RCSCustomParams.js'; import { RCSSettings } from '../../types/Channels/RCS/RCSParams.js'; import '../../types/MessageParams.js'; import '../../enums/RCS/RCSCategory.js'; /** * Represents a custom message for RCS. * * @group RCS */ declare class RCSCustom extends AbstractMessage implements RCSCustomParams { /** * The channel for this message (always 'rcs'). */ channel: Channels.RCS; /** * The type of message (always 'custom'). */ messageType: MessageTypes.CUSTOM; /** * A custom payload. The schema of a custom object can vary widely. */ custom: Record; /** * The duration in seconds the delivery of a message will be attempted. By * default Vonage attempts delivery for 72 hours, however the maximum effective * value depends on the operator and is typically 24 - 48 hours. We recommend * this value should be kept at its default or at least 30 minutes. */ ttl?: number; /** * An object of optional settings for the RCS message. */ rcs?: RCSSettings; /** * Sends a custom message through RCS * * @param {RCSCustomParams} params - The parameters for creating a RCS custom message. * @example * ```ts * import { RCSCustom } from '@vonage/messages'; * * const { messageUUID } = await messagesClient.send(new RCSCustom({ * to: TO_NUMBER, * from: FROM_NUMBER, * custom: { * foo: 'bar', * } * clientRef: 'my-personal-reference', * })); * * console.log(`Message sent successfully with UUID ${messageUUID}`); * ``` */ constructor(params: Omit); } export { RCSCustom };