meta-cloud-api 0.2.15 → 0.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/BusinessProfileApi-DDkv2WQK.d.ts +352 -0
  2. package/dist/EncryptionApi-CwxQlC-2.d.ts +21 -0
  3. package/dist/FlowApi-BIBrWYEv.d.ts +471 -0
  4. package/dist/MediaApi-VqxndaBJ.d.ts +89 -0
  5. package/dist/MessageApi-CHc6bn3g.d.ts +591 -0
  6. package/dist/PhoneNumberApi-C-bs6YAe.d.ts +141 -0
  7. package/dist/QrCodeApi-BjlyPUXV.d.ts +97 -0
  8. package/dist/RegistrationApi-D7Bg8BUz.d.ts +46 -0
  9. package/dist/TemplateApi-dmZbvMkO.d.ts +117 -0
  10. package/dist/TwoStepVerificationApi-DaYWPjY_.d.ts +32 -0
  11. package/dist/WabaApi-CMoTCWiH.d.ts +174 -0
  12. package/dist/base-BG2gtoDs.d.ts +46 -0
  13. package/dist/chunk-2NJVBJUN.js +2 -0
  14. package/dist/chunk-2NJVBJUN.js.map +1 -0
  15. package/dist/chunk-3MO3BTBC.js +2 -0
  16. package/dist/chunk-3MO3BTBC.js.map +1 -0
  17. package/dist/chunk-4C666HHU.js +2 -0
  18. package/dist/chunk-4C666HHU.js.map +1 -0
  19. package/dist/chunk-5JGM556C.js +2 -0
  20. package/dist/chunk-5JGM556C.js.map +1 -0
  21. package/dist/chunk-7GL74SXM.js +2 -0
  22. package/dist/chunk-7GL74SXM.js.map +1 -0
  23. package/dist/chunk-7NQLQPLH.js +2 -0
  24. package/dist/chunk-7NQLQPLH.js.map +1 -0
  25. package/dist/chunk-A264MT4Q.js +2 -0
  26. package/dist/chunk-A264MT4Q.js.map +1 -0
  27. package/dist/chunk-BZ5QDXNR.js +2 -0
  28. package/dist/chunk-BZ5QDXNR.js.map +1 -0
  29. package/dist/chunk-EYGUX4EA.js +2 -0
  30. package/dist/chunk-EYGUX4EA.js.map +1 -0
  31. package/dist/chunk-FFOE5YKT.js +2 -0
  32. package/dist/chunk-FFOE5YKT.js.map +1 -0
  33. package/dist/chunk-GIQLIMOD.js +2 -0
  34. package/dist/chunk-GIQLIMOD.js.map +1 -0
  35. package/dist/chunk-KFPOVYEJ.js +2 -0
  36. package/dist/chunk-KFPOVYEJ.js.map +1 -0
  37. package/dist/chunk-O2OTHNWM.js +2 -0
  38. package/dist/chunk-O2OTHNWM.js.map +1 -0
  39. package/dist/chunk-UQPD6GIF.js +2 -0
  40. package/dist/chunk-UQPD6GIF.js.map +1 -0
  41. package/dist/chunk-VW3LGHTJ.js +2 -0
  42. package/dist/chunk-VW3LGHTJ.js.map +1 -0
  43. package/dist/chunk-XIIJD6SG.js +2 -0
  44. package/dist/chunk-XIIJD6SG.js.map +1 -0
  45. package/dist/chunk-XPPDOFBN.js +2 -0
  46. package/dist/chunk-XPPDOFBN.js.map +1 -0
  47. package/dist/enums-Z1f7QuVx.d.ts +687 -0
  48. package/dist/features/encryption/index.d.ts +9 -0
  49. package/dist/features/encryption/index.js +2 -0
  50. package/dist/features/flow/index.d.ts +9 -0
  51. package/dist/features/flow/index.js +2 -0
  52. package/dist/features/media/index.d.ts +9 -0
  53. package/dist/features/media/index.js +2 -0
  54. package/dist/features/messages/index.d.ts +9 -0
  55. package/dist/features/messages/index.js +2 -0
  56. package/dist/features/messages/index.js.map +1 -0
  57. package/dist/features/phone/index.d.ts +9 -0
  58. package/dist/features/phone/index.js +2 -0
  59. package/dist/features/phone/index.js.map +1 -0
  60. package/dist/features/profile/index.d.ts +9 -0
  61. package/dist/features/profile/index.js +2 -0
  62. package/dist/features/profile/index.js.map +1 -0
  63. package/dist/features/qrCode/index.d.ts +9 -0
  64. package/dist/features/qrCode/index.js +2 -0
  65. package/dist/features/qrCode/index.js.map +1 -0
  66. package/dist/features/registration/index.d.ts +9 -0
  67. package/dist/features/registration/index.js +2 -0
  68. package/dist/features/registration/index.js.map +1 -0
  69. package/dist/features/template/index.d.ts +9 -0
  70. package/dist/features/template/index.js +2 -0
  71. package/dist/features/template/index.js.map +1 -0
  72. package/dist/features/twoStepVerification/index.d.ts +9 -0
  73. package/dist/features/twoStepVerification/index.js +2 -0
  74. package/dist/features/twoStepVerification/index.js.map +1 -0
  75. package/dist/features/waba/index.d.ts +9 -0
  76. package/dist/features/waba/index.js +2 -0
  77. package/dist/features/waba/index.js.map +1 -0
  78. package/dist/index.d.ts +546 -28
  79. package/dist/index.js +2 -2
  80. package/dist/index.js.map +1 -1
  81. package/dist/shared/types/config.d.ts +78 -0
  82. package/dist/shared/types/config.js +2 -0
  83. package/dist/shared/types/config.js.map +1 -0
  84. package/dist/shared/types/enums.d.ts +1 -0
  85. package/dist/shared/types/enums.js +2 -0
  86. package/dist/shared/types/enums.js.map +1 -0
  87. package/dist/shared/utils/isMetaError.d.ts +21 -0
  88. package/dist/shared/utils/isMetaError.js +2 -0
  89. package/dist/shared/utils/isMetaError.js.map +1 -0
  90. package/package.json +80 -15
  91. package/dist/api/index.d.ts +0 -496
  92. package/dist/api/index.js +0 -2
  93. package/dist/chunk-IE2YYEC7.js +0 -2
  94. package/dist/chunk-IE2YYEC7.js.map +0 -1
  95. package/dist/chunk-IMPHLXRA.js +0 -2
  96. package/dist/chunk-IMPHLXRA.js.map +0 -1
  97. package/dist/chunk-KW56EPP7.js +0 -2
  98. package/dist/chunk-KW56EPP7.js.map +0 -1
  99. package/dist/chunk-SLDCD6XR.js +0 -2
  100. package/dist/chunk-SLDCD6XR.js.map +0 -1
  101. package/dist/chunk-UVPYV4PL.js +0 -2
  102. package/dist/chunk-UVPYV4PL.js.map +0 -1
  103. package/dist/types/index.d.ts +0 -513
  104. package/dist/types/index.js +0 -2
  105. package/dist/utils/index.d.ts +0 -71
  106. package/dist/utils/index.js +0 -2
  107. package/dist/waba-RRlZTQUG.d.ts +0 -2229
  108. package/dist/whatsapp-DmeO83A8.d.ts +0 -46
  109. /package/dist/{api → features/encryption}/index.js.map +0 -0
  110. /package/dist/{types → features/flow}/index.js.map +0 -0
  111. /package/dist/{utils → features/media}/index.js.map +0 -0
@@ -0,0 +1,591 @@
1
+ import { B as BaseClass, G as GeneralRequestBody, a as BaseAPI, R as RequesterClass } from './base-BG2gtoDs.js';
2
+ import { WabaConfigType } from './shared/types/config.js';
3
+ import { I as InteractiveTypesEnum, C as ComponentTypesEnum, L as LanguagesEnum, P as ParametersTypesEnum, b as CurrencyCodesEnum, B as ButtonTypesEnum, c as ButtonPositionEnum, M as MessageTypesEnum } from './enums-Z1f7QuVx.js';
4
+
5
+ interface ReactionParams {
6
+ messageId: string;
7
+ emoji: string;
8
+ to: string;
9
+ }
10
+
11
+ type DocumentMediaObject$2 = {
12
+ id?: string;
13
+ link?: string;
14
+ caption?: string;
15
+ filename?: string;
16
+ };
17
+ type ImageMediaObject$2 = {
18
+ id?: string;
19
+ link?: string;
20
+ caption?: string;
21
+ };
22
+ type VideoMediaObject$2 = {
23
+ id?: string;
24
+ link?: string;
25
+ caption?: string;
26
+ };
27
+ type ProductObject = {
28
+ product_retailer_id: string;
29
+ };
30
+ type SimpleTextObject$1 = {
31
+ text: string;
32
+ };
33
+ type RowObject = {
34
+ id: string;
35
+ title: string;
36
+ description?: string;
37
+ };
38
+ type MultiProductSectionObject = {
39
+ product_items: ProductObject[];
40
+ rows?: never;
41
+ title?: string;
42
+ };
43
+ type ListSectionObject = {
44
+ product_items?: never;
45
+ rows: RowObject[];
46
+ title?: string;
47
+ };
48
+ type SectionObject = MultiProductSectionObject | ListSectionObject;
49
+ type ButtonObject = {
50
+ title: string;
51
+ id: string;
52
+ };
53
+ type ReplyButtonObject = {
54
+ type: 'reply';
55
+ reply: ButtonObject;
56
+ };
57
+ type ActionObject = {
58
+ buttons?: ReplyButtonObject[];
59
+ catalog_id?: string;
60
+ product_retailer_id?: string;
61
+ sections?: SectionObject;
62
+ };
63
+ type HeaderObject = {
64
+ type: 'document' | 'image' | 'text' | 'video';
65
+ document?: DocumentMediaObject$2;
66
+ image?: ImageMediaObject$2;
67
+ text?: string;
68
+ video?: VideoMediaObject$2;
69
+ };
70
+ type ButtonInteractiveObject = {
71
+ type: InteractiveTypesEnum.Button;
72
+ body: SimpleTextObject$1;
73
+ footer?: SimpleTextObject$1;
74
+ header?: HeaderObject;
75
+ action: ActionObject;
76
+ };
77
+ type ListInteractiveObject = {
78
+ type: InteractiveTypesEnum.List;
79
+ body: SimpleTextObject$1;
80
+ footer?: SimpleTextObject$1;
81
+ header?: HeaderObject;
82
+ action: ActionObject;
83
+ };
84
+ type ProductInteractiveObject = {
85
+ type: InteractiveTypesEnum.Product;
86
+ body?: SimpleTextObject$1;
87
+ footer?: SimpleTextObject$1;
88
+ header?: HeaderObject;
89
+ action: ActionObject;
90
+ };
91
+ type ProductListInteractiveObject = {
92
+ type: InteractiveTypesEnum.ProductList;
93
+ body: SimpleTextObject$1;
94
+ footer?: SimpleTextObject$1;
95
+ header: HeaderObject;
96
+ action: ActionObject;
97
+ };
98
+ type CtaUrlParameters = {
99
+ display_text: string;
100
+ url: string;
101
+ };
102
+ type CtaUrlActionObject = {
103
+ name: 'cta_url';
104
+ parameters: CtaUrlParameters;
105
+ };
106
+ type CtaUrlInteractiveObject = {
107
+ type: InteractiveTypesEnum.CtaUrl;
108
+ body?: SimpleTextObject$1;
109
+ footer?: SimpleTextObject$1;
110
+ header?: HeaderObject;
111
+ action: CtaUrlActionObject;
112
+ };
113
+ type LocationRequestActionObject = {
114
+ name: 'send_location';
115
+ };
116
+ type LocationRequestInteractiveObject = {
117
+ type: InteractiveTypesEnum.LocationRequest;
118
+ body: SimpleTextObject$1;
119
+ footer?: SimpleTextObject$1;
120
+ header?: HeaderObject;
121
+ action: LocationRequestActionObject;
122
+ };
123
+ type AddressValues = {
124
+ name?: string;
125
+ phone_number?: string;
126
+ in_pin_code?: string;
127
+ house_number?: string;
128
+ floor_number?: string;
129
+ tower_number?: string;
130
+ building_name?: string;
131
+ address?: string;
132
+ landmark_area?: string;
133
+ city?: string;
134
+ state?: string;
135
+ };
136
+ type SavedAddress = {
137
+ id: string;
138
+ value: AddressValues;
139
+ };
140
+ type ValidationErrors = {
141
+ [key in keyof AddressValues]?: string;
142
+ };
143
+ type AddressMessageParameters = {
144
+ country: string;
145
+ values?: AddressValues;
146
+ saved_addresses?: SavedAddress[];
147
+ validation_errors?: ValidationErrors;
148
+ };
149
+ type AddressMessageActionObject = {
150
+ name: 'address_message';
151
+ parameters: AddressMessageParameters;
152
+ };
153
+ type AddressMessageInteractiveObject = {
154
+ type: InteractiveTypesEnum.AddressMessage;
155
+ body: SimpleTextObject$1;
156
+ footer?: SimpleTextObject$1;
157
+ header?: HeaderObject;
158
+ action: AddressMessageActionObject;
159
+ };
160
+ type FlowParameters = {
161
+ flow_message_version: string;
162
+ flow_id?: string;
163
+ flow_name?: string;
164
+ flow_cta: string;
165
+ mode?: 'draft' | 'published';
166
+ flow_token: string;
167
+ flow_action: 'navigate' | 'data_exchange';
168
+ flow_action_payload?: {
169
+ screen?: string;
170
+ data?: Record<string, string>;
171
+ };
172
+ };
173
+ type FlowActionObject = {
174
+ name: 'flow';
175
+ parameters: FlowParameters;
176
+ };
177
+ type FlowInteractiveObject = {
178
+ type: InteractiveTypesEnum.Flow;
179
+ body: SimpleTextObject$1;
180
+ footer?: SimpleTextObject$1;
181
+ header?: HeaderObject;
182
+ action: FlowActionObject;
183
+ };
184
+ type InteractiveObject = ButtonInteractiveObject | ListInteractiveObject | ProductInteractiveObject | ProductListInteractiveObject | CtaUrlInteractiveObject | LocationRequestInteractiveObject | AddressMessageInteractiveObject | FlowInteractiveObject;
185
+
186
+ type LocationObject = {
187
+ longitude: number;
188
+ latitude: number;
189
+ name?: string;
190
+ address?: string;
191
+ };
192
+
193
+ type AddressesObject = {
194
+ street?: string;
195
+ city?: string;
196
+ state?: string;
197
+ zip?: string;
198
+ country?: string;
199
+ country_code?: string;
200
+ type?: 'HOME' | 'WORK' | string;
201
+ };
202
+ type EmailObject = {
203
+ email?: string;
204
+ type?: 'HOME' | 'WORK' | string;
205
+ };
206
+ type NameObject = {
207
+ formatted_name: string;
208
+ first_name?: string;
209
+ last_name?: string;
210
+ middle_name?: string;
211
+ suffix?: string;
212
+ prefix?: string;
213
+ };
214
+ type OrgObject = {
215
+ company?: string;
216
+ department?: string;
217
+ title?: string;
218
+ };
219
+ type PhoneObject = {
220
+ phone?: 'PHONE_NUMBER';
221
+ type?: 'CELL' | 'MAIN' | 'IPHONE' | 'HOME' | 'WORK' | string;
222
+ wa_id?: string;
223
+ };
224
+ type URLObject = {
225
+ url?: string;
226
+ type?: 'HOME' | 'WORK' | string;
227
+ };
228
+ type ContactObject = {
229
+ addresses?: AddressesObject[];
230
+ birthday?: `${number}${number}${number}${number}-${number}${number}-${number}${number}`;
231
+ emails?: EmailObject[];
232
+ name: NameObject;
233
+ org?: OrgObject;
234
+ phones?: PhoneObject[];
235
+ urls?: URLObject[];
236
+ };
237
+
238
+ type MetaMediaObject = {
239
+ id: string;
240
+ link?: never;
241
+ };
242
+ type HostedMediaObject = {
243
+ id?: never;
244
+ link: string;
245
+ };
246
+ type AudioMediaObject = MetaMediaObject | HostedMediaObject;
247
+ type MetaDocumentMediaObject = MetaMediaObject & {
248
+ caption?: string;
249
+ filename?: string;
250
+ };
251
+ type HostedDocumentMediaObject = HostedMediaObject & {
252
+ caption?: string;
253
+ filename?: string;
254
+ };
255
+ type DocumentMediaObject$1 = MetaDocumentMediaObject | HostedDocumentMediaObject;
256
+ type MetaImageMediaObject = MetaMediaObject & {
257
+ caption?: string;
258
+ };
259
+ type HostedImageMediaObject = HostedMediaObject & {
260
+ caption?: string;
261
+ };
262
+ type ImageMediaObject$1 = MetaImageMediaObject | HostedImageMediaObject;
263
+ type MetaVideoMediaObject = MetaMediaObject & {
264
+ caption?: string;
265
+ };
266
+ type HostedVideoMediaObject = HostedMediaObject & {
267
+ caption?: string;
268
+ };
269
+ type VideoMediaObject$1 = MetaVideoMediaObject | HostedVideoMediaObject;
270
+ type StickerMediaObject = MetaMediaObject | HostedMediaObject;
271
+
272
+ type LanguageObject = {
273
+ policy: 'deterministic';
274
+ code: LanguagesEnum;
275
+ };
276
+ type ParametersObject<T extends ParametersTypesEnum> = {
277
+ type: T;
278
+ };
279
+ type SimpleTextObject = {
280
+ text: string;
281
+ };
282
+ type TextParametersObject = ParametersObject<ParametersTypesEnum.Text> & SimpleTextObject;
283
+ type CurrencyObject = {
284
+ fallback_value: string;
285
+ code: CurrencyCodesEnum;
286
+ amount_1000: number;
287
+ };
288
+ type CurrencyParametersObject = ParametersObject<ParametersTypesEnum.Currency> & {
289
+ currency: CurrencyObject;
290
+ };
291
+ type DateTimeObject = {
292
+ fallback_value: string;
293
+ };
294
+ type DateTimeParametersObject = ParametersObject<ParametersTypesEnum.Currency> & {
295
+ date_time: DateTimeObject;
296
+ };
297
+ type DocumentMediaObject = {
298
+ id?: string;
299
+ link?: string;
300
+ caption?: string;
301
+ filename?: string;
302
+ };
303
+ type ImageMediaObject = {
304
+ id?: string;
305
+ link?: string;
306
+ caption?: string;
307
+ };
308
+ type VideoMediaObject = {
309
+ id?: string;
310
+ link?: string;
311
+ caption?: string;
312
+ };
313
+ type DocumentParametersObject = ParametersObject<ParametersTypesEnum.Document> & DocumentMediaObject;
314
+ type ImageParametersObject = ParametersObject<ParametersTypesEnum.Image> & ImageMediaObject;
315
+ type VideoParametersObject = ParametersObject<ParametersTypesEnum.Video> & VideoMediaObject;
316
+ type QuickReplyButtonParametersObject = {
317
+ type: ParametersTypesEnum.Payload;
318
+ payload: string;
319
+ };
320
+ type URLButtonParametersObject = SimpleTextObject & {
321
+ type: ParametersTypesEnum.Text;
322
+ };
323
+ type ButtonParameterObject = QuickReplyButtonParametersObject | URLButtonParametersObject;
324
+ type ComponentObject<T extends ComponentTypesEnum> = {
325
+ type: T;
326
+ parameters: (CurrencyParametersObject | DateTimeParametersObject | DocumentParametersObject | ImageParametersObject | TextParametersObject | VideoParametersObject)[];
327
+ };
328
+ type ButtonComponentObject = ComponentObject<ComponentTypesEnum.Button> & {
329
+ parameters: ButtonParameterObject;
330
+ sub_type: ButtonTypesEnum;
331
+ index: ButtonPositionEnum;
332
+ };
333
+ type MessageTemplateObject<T extends ComponentTypesEnum> = {
334
+ name: string;
335
+ language: LanguageObject;
336
+ components?: (ComponentObject<T> | ButtonComponentObject)[];
337
+ };
338
+
339
+ type TextObject = {
340
+ body: string;
341
+ preview_url?: boolean;
342
+ };
343
+ interface TextMessageParams extends MessageRequestParams<TextObject | string> {
344
+ previewUrl?: boolean;
345
+ }
346
+
347
+ type GeneralMessageBody = GeneralRequestBody & {
348
+ /**
349
+ * The Meta messaging product name.
350
+ * @default 'whatsapp'
351
+ */
352
+ messaging_product: 'whatsapp';
353
+ };
354
+ type ConTextObject = {
355
+ message_id: string;
356
+ };
357
+ type MessageRequestBody<T extends MessageTypesEnum> = GeneralMessageBody & {
358
+ recipient_type?: string;
359
+ to: string;
360
+ context?: ConTextObject;
361
+ type?: T;
362
+ };
363
+ interface MessageRequestParams<T> {
364
+ body: T;
365
+ to: string;
366
+ replyMessageId?: string;
367
+ }
368
+ interface StatusParams {
369
+ status: string;
370
+ messageId: string;
371
+ typingIndicator?: {
372
+ type: string;
373
+ };
374
+ }
375
+ type MessagesResponse = GeneralMessageBody & {
376
+ contacts: [
377
+ {
378
+ input: string;
379
+ wa_id: string;
380
+ }
381
+ ];
382
+ messages: [
383
+ {
384
+ id: string;
385
+ }
386
+ ];
387
+ };
388
+ declare class MessagesClass extends BaseClass {
389
+ text(params: TextMessageParams): Promise<MessagesResponse>;
390
+ template(params: MessageRequestParams<MessageTemplateObject<ComponentTypesEnum>>): Promise<MessagesResponse>;
391
+ audio(params: MessageRequestParams<AudioMediaObject>): Promise<MessagesResponse>;
392
+ document(params: MessageRequestParams<DocumentMediaObject$1>): Promise<MessagesResponse>;
393
+ image(params: MessageRequestParams<ImageMediaObject$1>): Promise<MessagesResponse>;
394
+ video(params: MessageRequestParams<VideoMediaObject$1>): Promise<MessagesResponse>;
395
+ sticker(params: MessageRequestParams<StickerMediaObject>): Promise<MessagesResponse>;
396
+ contacts(params: MessageRequestParams<[ContactObject]>): Promise<MessagesResponse>;
397
+ location(params: MessageRequestParams<LocationObject>): Promise<MessagesResponse>;
398
+ interactive(params: MessageRequestParams<InteractiveObject>): Promise<MessagesResponse>;
399
+ interactiveList(params: MessageRequestParams<InteractiveObject & {
400
+ type: InteractiveTypesEnum.List;
401
+ }>): Promise<MessagesResponse>;
402
+ interactiveCtaUrl(params: MessageRequestParams<InteractiveObject & {
403
+ type: InteractiveTypesEnum.CtaUrl;
404
+ }>): Promise<MessagesResponse>;
405
+ interactiveLocationRequest(params: MessageRequestParams<InteractiveObject & {
406
+ type: InteractiveTypesEnum.LocationRequest;
407
+ }>): Promise<MessagesResponse>;
408
+ interactiveAddressMessage(params: MessageRequestParams<InteractiveObject & {
409
+ type: InteractiveTypesEnum.AddressMessage;
410
+ }>): Promise<MessagesResponse>;
411
+ interactiveReplyButtons(params: MessageRequestParams<InteractiveObject & {
412
+ type: InteractiveTypesEnum.Button;
413
+ }>): Promise<MessagesResponse>;
414
+ interactiveFlow(params: MessageRequestParams<InteractiveObject & {
415
+ type: InteractiveTypesEnum.Flow;
416
+ }>): Promise<MessagesResponse>;
417
+ reaction(params: ReactionParams): Promise<MessagesResponse>;
418
+ markAsRead(params: {
419
+ messageId: string;
420
+ }): Promise<MessagesResponse>;
421
+ showTypingIndicator(params: {
422
+ messageId: string;
423
+ }): Promise<MessagesResponse>;
424
+ status(params: StatusParams): Promise<MessagesResponse>;
425
+ }
426
+
427
+ /**
428
+ * Maps each message type to its appropriate payload type
429
+ */
430
+ type MessagePayloadType<T extends MessageTypesEnum> = T extends MessageTypesEnum.Audio ? AudioMediaObject : T extends MessageTypesEnum.Contacts ? [ContactObject] : T extends MessageTypesEnum.Document ? DocumentMediaObject$1 : T extends MessageTypesEnum.Image ? ImageMediaObject$1 : T extends MessageTypesEnum.Interactive ? InteractiveObject : T extends MessageTypesEnum.Location ? LocationObject : T extends MessageTypesEnum.Template ? MessageTemplateObject<ComponentTypesEnum> : T extends MessageTypesEnum.Sticker ? StickerMediaObject : T extends MessageTypesEnum.Text ? TextObject : T extends MessageTypesEnum.Video ? VideoMediaObject$1 : T extends MessageTypesEnum.Reaction ? {
431
+ message_id: string;
432
+ emoji: string;
433
+ } : never;
434
+ declare class MessagesApi extends BaseAPI implements MessagesClass {
435
+ private readonly commonMethod;
436
+ private readonly commonEndpoint;
437
+ constructor(config: WabaConfigType, client: RequesterClass);
438
+ /**
439
+ * Builds the request body for WhatsApp API messages
440
+ * @param type The type of message to send
441
+ * @param payload The message payload object
442
+ * @param to The recipient's phone number
443
+ * @param replyMessageId Optional message ID to reply to
444
+ * @returns The formatted request body
445
+ */
446
+ bodyBuilder<T extends MessageTypesEnum>(type: T, payload: MessagePayloadType<T>, to: string, replyMessageId?: string): MessageRequestBody<T>;
447
+ /**
448
+ * Sends a request to the WhatsApp API
449
+ * @param body The request body to send
450
+ * @returns Promise with the API response
451
+ */
452
+ private send;
453
+ /**
454
+ * Sends an audio message via WhatsApp
455
+ * @param params The audio message parameter object
456
+ * @returns Promise with the message response
457
+ */
458
+ audio(params: MessageRequestParams<AudioMediaObject>): Promise<MessagesResponse>;
459
+ /**
460
+ * Sends a contact card via WhatsApp
461
+ * @param params The contact message parameter object
462
+ * @returns Promise with the message response
463
+ */
464
+ contacts(params: MessageRequestParams<[ContactObject]>): Promise<MessagesResponse>;
465
+ /**
466
+ * Sends a document via WhatsApp
467
+ * @param params The document message parameter object
468
+ * @returns Promise with the message response
469
+ */
470
+ document(params: MessageRequestParams<DocumentMediaObject$1>): Promise<MessagesResponse>;
471
+ /**
472
+ * Sends an image via WhatsApp
473
+ * @param params The image message parameter object
474
+ * @returns Promise with the message response
475
+ */
476
+ image(params: MessageRequestParams<ImageMediaObject$1>): Promise<MessagesResponse>;
477
+ /**
478
+ * Sends an interactive message via WhatsApp
479
+ * @param params The interactive message parameter object
480
+ * @returns Promise with the message response
481
+ */
482
+ interactive(params: MessageRequestParams<InteractiveObject>): Promise<MessagesResponse>;
483
+ /**
484
+ * Sends a location via WhatsApp
485
+ * @param params The location message parameter object
486
+ * @returns Promise with the message response
487
+ */
488
+ location(params: MessageRequestParams<LocationObject>): Promise<MessagesResponse>;
489
+ /**
490
+ * Sends a sticker via WhatsApp
491
+ * @param params The sticker message parameter object
492
+ * @returns Promise with the message response
493
+ */
494
+ sticker(params: MessageRequestParams<StickerMediaObject>): Promise<MessagesResponse>;
495
+ /**
496
+ * Sends a template message via WhatsApp
497
+ * @param params The template message parameter object
498
+ * @returns Promise with the message response
499
+ */
500
+ template(params: MessageRequestParams<MessageTemplateObject<ComponentTypesEnum>>): Promise<MessagesResponse>;
501
+ /**
502
+ * Sends a text message via WhatsApp
503
+ * @param params The text message parameter object
504
+ * @returns Promise with the message response
505
+ */
506
+ text(params: TextMessageParams): Promise<MessagesResponse>;
507
+ /**
508
+ * Sends a video message via WhatsApp
509
+ * @param params The video message parameter object
510
+ * @returns Promise with the message response
511
+ */
512
+ video(params: MessageRequestParams<VideoMediaObject$1>): Promise<MessagesResponse>;
513
+ /**
514
+ * Updates message status (mark as read, etc.)
515
+ * @param params The status update parameters
516
+ * @returns Promise with the API response
517
+ */
518
+ status(params: StatusParams): Promise<MessagesResponse>;
519
+ /**
520
+ * Marks a message as read
521
+ * @param params Object containing messageId
522
+ * @returns Promise with the API response
523
+ */
524
+ markAsRead(params: {
525
+ messageId: string;
526
+ }): Promise<MessagesResponse>;
527
+ /**
528
+ * Shows typing indicator
529
+ * @param params Object containing messageId
530
+ * @returns Promise with the API response
531
+ */
532
+ showTypingIndicator(params: {
533
+ messageId: string;
534
+ }): Promise<MessagesResponse>;
535
+ /**
536
+ * Sends a list interactive message
537
+ * @param params The list interactive message parameters
538
+ * @returns Promise with the message response
539
+ */
540
+ interactiveList(params: MessageRequestParams<InteractiveObject & {
541
+ type: InteractiveTypesEnum.List;
542
+ }>): Promise<MessagesResponse>;
543
+ /**
544
+ * Sends a CTA URL interactive message
545
+ * @param params The CTA URL interactive message parameters
546
+ * @returns Promise with the message response
547
+ */
548
+ interactiveCtaUrl(params: MessageRequestParams<InteractiveObject & {
549
+ type: InteractiveTypesEnum.CtaUrl;
550
+ }>): Promise<MessagesResponse>;
551
+ /**
552
+ * Sends a location request interactive message
553
+ * @param params The location request interactive message parameters
554
+ * @returns Promise with the message response
555
+ */
556
+ interactiveLocationRequest(params: MessageRequestParams<InteractiveObject & {
557
+ type: InteractiveTypesEnum.LocationRequest;
558
+ }>): Promise<MessagesResponse>;
559
+ /**
560
+ * Sends an address message interactive message
561
+ * @param params The address message interactive message parameters
562
+ * @returns Promise with the message response
563
+ */
564
+ interactiveAddressMessage(params: MessageRequestParams<InteractiveObject & {
565
+ type: InteractiveTypesEnum.AddressMessage;
566
+ }>): Promise<MessagesResponse>;
567
+ /**
568
+ * Sends a reply buttons interactive message
569
+ * @param params The reply buttons interactive message parameters
570
+ * @returns Promise with the message response
571
+ */
572
+ interactiveReplyButtons(params: MessageRequestParams<InteractiveObject & {
573
+ type: InteractiveTypesEnum.Button;
574
+ }>): Promise<MessagesResponse>;
575
+ /**
576
+ * Sends a flow interactive message
577
+ * @param params The flow interactive message parameters
578
+ * @returns Promise with the message response
579
+ */
580
+ interactiveFlow(params: MessageRequestParams<InteractiveObject & {
581
+ type: InteractiveTypesEnum.Flow;
582
+ }>): Promise<MessagesResponse>;
583
+ /**
584
+ * Sends a reaction to a message
585
+ * @param params The reaction parameters
586
+ * @returns Promise with the message response
587
+ */
588
+ reaction(params: ReactionParams): Promise<MessagesResponse>;
589
+ }
590
+
591
+ export { type AudioMediaObject as A, type ContactObject as C, type DocumentMediaObject$1 as D, type ImageMediaObject$1 as I, type LocationObject as L, MessagesApi as M, type ReactionParams as R, type StatusParams as S, type TextMessageParams as T, type VideoMediaObject$1 as V, type InteractiveObject as a, type MessageRequestParams as b, type MessagesResponse as c, type MessageTemplateObject as d, type StickerMediaObject as e, type TextObject as f };