@wenzyx1/bails 1.0.0

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 (218) hide show
  1. package/README.md +231 -0
  2. package/WAProto/fix-imports.js +85 -0
  3. package/WAProto/index.d.ts +79257 -0
  4. package/WAProto/index.js +242946 -0
  5. package/engine-requirements.js +10 -0
  6. package/lib/Defaults/baileys-version.json +3 -0
  7. package/lib/Defaults/index.d.ts +53 -0
  8. package/lib/Defaults/index.js +147 -0
  9. package/lib/Defaults/phonenumber-mcc.json +223 -0
  10. package/lib/Signal/Group/ciphertext-message.d.ts +9 -0
  11. package/lib/Signal/Group/ciphertext-message.js +15 -0
  12. package/lib/Signal/Group/group-session-builder.d.ts +14 -0
  13. package/lib/Signal/Group/group-session-builder.js +64 -0
  14. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  15. package/lib/Signal/Group/group_cipher.js +93 -0
  16. package/lib/Signal/Group/index.d.ts +11 -0
  17. package/lib/Signal/Group/index.js +57 -0
  18. package/lib/Signal/Group/keyhelper.d.ts +10 -0
  19. package/lib/Signal/Group/keyhelper.js +55 -0
  20. package/lib/Signal/Group/queue-job.d.ts +1 -0
  21. package/lib/Signal/Group/queue-job.js +53 -0
  22. package/lib/Signal/Group/sender-chain-key.d.ts +13 -0
  23. package/lib/Signal/Group/sender-chain-key.js +34 -0
  24. package/lib/Signal/Group/sender-key-distribution-message.d.ts +16 -0
  25. package/lib/Signal/Group/sender-key-distribution-message.js +66 -0
  26. package/lib/Signal/Group/sender-key-message.d.ts +18 -0
  27. package/lib/Signal/Group/sender-key-message.js +69 -0
  28. package/lib/Signal/Group/sender-key-name.d.ts +17 -0
  29. package/lib/Signal/Group/sender-key-name.js +51 -0
  30. package/lib/Signal/Group/sender-key-record.d.ts +30 -0
  31. package/lib/Signal/Group/sender-key-record.js +53 -0
  32. package/lib/Signal/Group/sender-key-state.d.ts +38 -0
  33. package/lib/Signal/Group/sender-key-state.js +99 -0
  34. package/lib/Signal/Group/sender-message-key.d.ts +11 -0
  35. package/lib/Signal/Group/sender-message-key.js +29 -0
  36. package/lib/Signal/libsignal.d.ts +3 -0
  37. package/lib/Signal/libsignal.js +454 -0
  38. package/lib/Signal/lid-mapping.js +280 -0
  39. package/lib/Socket/Client/abstract-socket-client.d.ts +17 -0
  40. package/lib/Socket/Client/abstract-socket-client.js +13 -0
  41. package/lib/Socket/Client/index.d.ts +3 -0
  42. package/lib/Socket/Client/index.js +19 -0
  43. package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
  44. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  45. package/lib/Socket/Client/web-socket-client.d.ts +12 -0
  46. package/lib/Socket/Client/web-socket-client.js +62 -0
  47. package/lib/Socket/business.d.ts +171 -0
  48. package/lib/Socket/business.js +342 -0
  49. package/lib/Socket/chats.d.ts +267 -0
  50. package/lib/Socket/chats.js +978 -0
  51. package/lib/Socket/communities.mjs +428 -0
  52. package/lib/Socket/dugong.d.ts +254 -0
  53. package/lib/Socket/dugong.js +558 -0
  54. package/lib/Socket/groups.d.ts +115 -0
  55. package/lib/Socket/groups.js +380 -0
  56. package/lib/Socket/index.d.ts +173 -0
  57. package/lib/Socket/index.js +32 -0
  58. package/lib/Socket/luxu.js +545 -0
  59. package/lib/Socket/messages-recv.d.ts +161 -0
  60. package/lib/Socket/messages-recv.js +1124 -0
  61. package/lib/Socket/messages-send.d.ts +149 -0
  62. package/lib/Socket/messages-send.js +1476 -0
  63. package/lib/Socket/mex.mjs +50 -0
  64. package/lib/Socket/newsletter.d.ts +134 -0
  65. package/lib/Socket/newsletter.js +351 -0
  66. package/lib/Socket/registration.d.ts +267 -0
  67. package/lib/Socket/registration.js +166 -0
  68. package/lib/Socket/socket.d.ts +43 -0
  69. package/lib/Socket/socket.js +904 -0
  70. package/lib/Socket/username.mjs +132 -0
  71. package/lib/Socket/usync.d.ts +36 -0
  72. package/lib/Socket/usync.js +70 -0
  73. package/lib/Store/index.d.ts +3 -0
  74. package/lib/Store/index.js +10 -0
  75. package/lib/Store/keyed-db.d.ts +30 -0
  76. package/lib/Store/keyed-db.js +233 -0
  77. package/lib/Store/make-cache-manager-store.d.ts +13 -0
  78. package/lib/Store/make-cache-manager-store.js +83 -0
  79. package/lib/Store/make-in-memory-store.d.ts +118 -0
  80. package/lib/Store/make-in-memory-store.js +427 -0
  81. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  82. package/lib/Store/make-ordered-dictionary.js +81 -0
  83. package/lib/Store/object-repository.d.ts +10 -0
  84. package/lib/Store/object-repository.js +27 -0
  85. package/lib/Types/Auth.d.ts +110 -0
  86. package/lib/Types/Auth.js +2 -0
  87. package/lib/Types/Call.d.ts +13 -0
  88. package/lib/Types/Call.js +2 -0
  89. package/lib/Types/Chat.d.ts +102 -0
  90. package/lib/Types/Chat.js +4 -0
  91. package/lib/Types/Contact.d.ts +19 -0
  92. package/lib/Types/Contact.js +2 -0
  93. package/lib/Types/Events.d.ts +157 -0
  94. package/lib/Types/Events.js +2 -0
  95. package/lib/Types/GroupMetadata.d.ts +55 -0
  96. package/lib/Types/GroupMetadata.js +2 -0
  97. package/lib/Types/Label.d.ts +35 -0
  98. package/lib/Types/Label.js +27 -0
  99. package/lib/Types/LabelAssociation.d.ts +29 -0
  100. package/lib/Types/LabelAssociation.js +9 -0
  101. package/lib/Types/Message.d.ts +273 -0
  102. package/lib/Types/Message.js +9 -0
  103. package/lib/Types/Mex.js +39 -0
  104. package/lib/Types/Newsletter.d.ts +103 -0
  105. package/lib/Types/Newsletter.js +38 -0
  106. package/lib/Types/Product.d.ts +78 -0
  107. package/lib/Types/Product.js +2 -0
  108. package/lib/Types/Signal.d.ts +57 -0
  109. package/lib/Types/Signal.js +2 -0
  110. package/lib/Types/Socket.d.ts +111 -0
  111. package/lib/Types/Socket.js +2 -0
  112. package/lib/Types/State.d.ts +27 -0
  113. package/lib/Types/State.js +2 -0
  114. package/lib/Types/USync.d.ts +25 -0
  115. package/lib/Types/USync.js +2 -0
  116. package/lib/Types/index.d.ts +57 -0
  117. package/lib/Types/index.js +43 -0
  118. package/lib/Utils/Mex.js +39 -0
  119. package/lib/Utils/auth-utils.d.ts +18 -0
  120. package/lib/Utils/auth-utils.js +206 -0
  121. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  122. package/lib/Utils/baileys-event-stream.js +57 -0
  123. package/lib/Utils/browser-presets.js +64 -0
  124. package/lib/Utils/business.d.ts +22 -0
  125. package/lib/Utils/business.js +234 -0
  126. package/lib/Utils/chat-utils.d.ts +71 -0
  127. package/lib/Utils/chat-utils.js +726 -0
  128. package/lib/Utils/companion-reg-client-utils.js +40 -0
  129. package/lib/Utils/crypto.d.ts +41 -0
  130. package/lib/Utils/crypto.js +151 -0
  131. package/lib/Utils/decode-wa-message.d.ts +19 -0
  132. package/lib/Utils/decode-wa-message.js +198 -0
  133. package/lib/Utils/event-buffer.d.ts +35 -0
  134. package/lib/Utils/event-buffer.js +514 -0
  135. package/lib/Utils/extended-messages.js +231 -0
  136. package/lib/Utils/generics.d.ts +92 -0
  137. package/lib/Utils/generics.js +425 -0
  138. package/lib/Utils/history.d.ts +15 -0
  139. package/lib/Utils/history.js +96 -0
  140. package/lib/Utils/identity-change-handler.js +52 -0
  141. package/lib/Utils/index.d.ts +17 -0
  142. package/lib/Utils/index.js +40 -0
  143. package/lib/Utils/link-preview.d.ts +21 -0
  144. package/lib/Utils/link-preview.js +93 -0
  145. package/lib/Utils/logger.d.ts +4 -0
  146. package/lib/Utils/logger.js +7 -0
  147. package/lib/Utils/lt-hash.d.ts +12 -0
  148. package/lib/Utils/lt-hash.js +51 -0
  149. package/lib/Utils/make-mutex.d.ts +7 -0
  150. package/lib/Utils/make-mutex.js +43 -0
  151. package/lib/Utils/message-composer.js +293 -0
  152. package/lib/Utils/message-retry-manager.js +226 -0
  153. package/lib/Utils/messages-media.d.ts +116 -0
  154. package/lib/Utils/messages-media.js +815 -0
  155. package/lib/Utils/messages.d.ts +77 -0
  156. package/lib/Utils/messages.js +888 -0
  157. package/lib/Utils/noise-handler.d.ts +21 -0
  158. package/lib/Utils/noise-handler.js +155 -0
  159. package/lib/Utils/offline-node-processor.js +46 -0
  160. package/lib/Utils/pre-key-manager.js +95 -0
  161. package/lib/Utils/process-message.d.ts +41 -0
  162. package/lib/Utils/process-message.js +321 -0
  163. package/lib/Utils/reporting-utils.js +272 -0
  164. package/lib/Utils/signal.d.ts +32 -0
  165. package/lib/Utils/signal.js +160 -0
  166. package/lib/Utils/stanza-ack.js +38 -0
  167. package/lib/Utils/sync-action-utils.js +50 -0
  168. package/lib/Utils/tc-token-utils.js +169 -0
  169. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  170. package/lib/Utils/use-multi-file-auth-state.js +119 -0
  171. package/lib/Utils/validate-connection.d.ts +11 -0
  172. package/lib/Utils/validate-connection.js +229 -0
  173. package/lib/WABinary/constants.d.ts +30 -0
  174. package/lib/WABinary/constants.js +40 -0
  175. package/lib/WABinary/decode.d.ts +7 -0
  176. package/lib/WABinary/decode.js +252 -0
  177. package/lib/WABinary/encode.d.ts +3 -0
  178. package/lib/WABinary/encode.js +265 -0
  179. package/lib/WABinary/generic-utils.d.ts +17 -0
  180. package/lib/WABinary/generic-utils.js +204 -0
  181. package/lib/WABinary/index.d.ts +5 -0
  182. package/lib/WABinary/index.js +21 -0
  183. package/lib/WABinary/jid-utils.d.ts +31 -0
  184. package/lib/WABinary/jid-utils.js +132 -0
  185. package/lib/WABinary/types.d.ts +18 -0
  186. package/lib/WABinary/types.js +2 -0
  187. package/lib/WAM/BinaryInfo.d.ts +17 -0
  188. package/lib/WAM/BinaryInfo.js +13 -0
  189. package/lib/WAM/constants.d.ts +38 -0
  190. package/lib/WAM/constants.js +15350 -0
  191. package/lib/WAM/encode.d.ts +3 -0
  192. package/lib/WAM/encode.js +155 -0
  193. package/lib/WAM/index.d.ts +3 -0
  194. package/lib/WAM/index.js +19 -0
  195. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  196. package/lib/WAUSync/Protocols/USyncContactProtocol.js +55 -0
  197. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  198. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
  199. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  200. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
  201. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  202. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
  203. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +27 -0
  204. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +25 -0
  205. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +53 -0
  206. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +8 -0
  207. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +24 -0
  208. package/lib/WAUSync/Protocols/index.d.ts +4 -0
  209. package/lib/WAUSync/Protocols/index.js +21 -0
  210. package/lib/WAUSync/USyncQuery.d.ts +28 -0
  211. package/lib/WAUSync/USyncQuery.js +93 -0
  212. package/lib/WAUSync/USyncUser.d.ts +12 -0
  213. package/lib/WAUSync/USyncUser.js +34 -0
  214. package/lib/WAUSync/index.d.ts +3 -0
  215. package/lib/WAUSync/index.js +19 -0
  216. package/lib/index.d.ts +12 -0
  217. package/lib/index.js +52 -0
  218. package/package.json +112 -0
@@ -0,0 +1,231 @@
1
+
2
+
3
+ const POLL_CREATION_FIELDS = [
4
+ 'pollCreationMessage',
5
+ 'pollCreationMessageV2',
6
+ 'pollCreationMessageV3',
7
+ 'pollCreationMessageV4',
8
+ 'pollCreationMessageV5',
9
+ 'pollCreationMessageV6',
10
+ ]
11
+
12
+ export const EXTENDED_MESSAGE_TYPES = [
13
+ 'spoilerMessage',
14
+ 'liveLocationMessage',
15
+ 'groupInviteMessage',
16
+ 'eventInviteMessage',
17
+ 'pollAddOptionMessage',
18
+ 'pollResultSnapshotMessage',
19
+ 'pollResultSnapshotMessageV3',
20
+ 'splitPaymentMessage',
21
+ 'paymentReminderMessage',
22
+ 'conditionalRevealMessage',
23
+ 'statusQuotedMessage',
24
+ 'statusStickerInteractionMessage',
25
+ 'groupRootKeyShare',
26
+ 'rootSecretDistributeMessage',
27
+ 'newsletterAdminProfileMessage',
28
+ 'newsletterAdminProfileMessageV2',
29
+ 'newsletterAdminProfileStatusMessage',
30
+ ...POLL_CREATION_FIELDS,
31
+ ]
32
+
33
+ /**
34
+ * Reads a message content object (proto.IMessage) and, if it's one of the
35
+ * types added in this fork, returns `{ type, data }` with a friendly,
36
+ * flattened shape. Returns `undefined` if the message isn't one of these
37
+ * types (use the regular `getContentType`/`extractMessageContent` for
38
+ * everything else).
39
+ */
40
+ export const parseExtendedMessageContent = (content) => {
41
+ if (!content) {
42
+ return undefined
43
+ }
44
+ if (content.spoilerMessage) {
45
+ return {
46
+ type: 'spoiler',
47
+ data: {
48
+ // the actual message content is nested one level in, same
49
+ // as viewOnceMessage — pass it through normalizeMessageContent
50
+ // yourself if you need the fully-unwrapped inner message.
51
+ message: content.spoilerMessage.message,
52
+ },
53
+ }
54
+ }
55
+ if (content.liveLocationMessage) {
56
+ const l = content.liveLocationMessage
57
+ return {
58
+ type: 'liveLocation',
59
+ data: {
60
+ degreesLatitude: l.location?.degreesLatitude,
61
+ degreesLongitude: l.location?.degreesLongitude,
62
+ accuracyInMeters: l.accuracyInMeters,
63
+ speedInMps: l.speedInMps,
64
+ degreesClockwiseFromMagneticNorth: l.degreesClockwiseFromMagneticNorth,
65
+ caption: l.caption?.text,
66
+ sequenceNumber: l.sequenceNumber,
67
+ },
68
+ }
69
+ }
70
+ if (content.groupInviteMessage) {
71
+ const g = content.groupInviteMessage
72
+ return {
73
+ type: 'groupInvite',
74
+ data: {
75
+ groupJid: g.groupJid,
76
+ inviteCode: g.inviteCode,
77
+ inviteExpiration: g.inviteExpiration,
78
+ groupName: g.groupName,
79
+ caption: g.caption?.text,
80
+ },
81
+ }
82
+ }
83
+ if (content.eventInviteMessage) {
84
+ const e = content.eventInviteMessage
85
+ return {
86
+ type: 'eventInvite',
87
+ data: {
88
+ eventId: e.eventId,
89
+ eventTitle: e.eventTitle,
90
+ startTime: e.startTime,
91
+ endTime: e.endTime,
92
+ caption: e.caption,
93
+ isCanceled: e.isCanceled,
94
+ callLink: e.callLink,
95
+ },
96
+ }
97
+ }
98
+ if (content.pollAddOptionMessage) {
99
+ return {
100
+ type: 'pollAddOption',
101
+ data: {
102
+ options: (content.pollAddOptionMessage.pollOption || []).map(o => o.optionName),
103
+ },
104
+ }
105
+ }
106
+ if (content.pollResultSnapshotMessage || content.pollResultSnapshotMessageV3) {
107
+ const p = content.pollResultSnapshotMessage || content.pollResultSnapshotMessageV3
108
+ return {
109
+ type: 'pollResultSnapshot',
110
+ data: {
111
+ name: p.name,
112
+ votes: (p.pollVotes || []).map(v => ({ option: v.optionName, count: Number(v.optionVoteCount || 0) })),
113
+ },
114
+ }
115
+ }
116
+ for (const field of POLL_CREATION_FIELDS) {
117
+ if (content[field]) {
118
+ const p = content[field]
119
+ return {
120
+ type: 'pollCreation',
121
+ data: {
122
+ version: POLL_CREATION_FIELDS.indexOf(field) + 1,
123
+ name: p.name,
124
+ selectableOptionsCount: p.selectableOptionsCount,
125
+ options: (p.options || []).map(o => o.optionName),
126
+ },
127
+ }
128
+ }
129
+ }
130
+ if (content.splitPaymentMessage) {
131
+ const s = content.splitPaymentMessage
132
+ return {
133
+ type: 'splitPayment',
134
+ data: {
135
+ splitId: s.splitId,
136
+ totalAmount: s.totalAmount,
137
+ description: s.description,
138
+ requesterJid: s.requesterJid,
139
+ participants: s.participants,
140
+ },
141
+ }
142
+ }
143
+ if (content.paymentReminderMessage) {
144
+ const p = content.paymentReminderMessage
145
+ return {
146
+ type: 'paymentReminder',
147
+ data: {
148
+ reminderId: p.reminderId,
149
+ description: p.description,
150
+ frequency: p.frequency,
151
+ status: p.status,
152
+ payeeJid: p.payeeJid,
153
+ payerJid: p.payerJid,
154
+ amount: p.amount,
155
+ },
156
+ }
157
+ }
158
+ if (content.conditionalRevealMessage) {
159
+ const c = content.conditionalRevealMessage
160
+ return {
161
+ type: 'conditionalReveal',
162
+ data: {
163
+ revealKeyId: c.revealKeyId,
164
+ messageType: c.conditionalRevealMessageType,
165
+ // encPayload/encIv are left encrypted — decrypting requires the
166
+ // reveal key from the associated app-state action, which this
167
+ // fork does not yet resolve automatically.
168
+ encPayload: c.encPayload,
169
+ encIv: c.encIv,
170
+ },
171
+ }
172
+ }
173
+ if (content.statusQuotedMessage) {
174
+ const s = content.statusQuotedMessage
175
+ return {
176
+ type: 'statusQuoted',
177
+ data: {
178
+ quotedType: s.type,
179
+ text: s.text,
180
+ originalStatusId: s.originalStatusId,
181
+ },
182
+ }
183
+ }
184
+ if (content.statusStickerInteractionMessage) {
185
+ const s = content.statusStickerInteractionMessage
186
+ return {
187
+ type: 'statusStickerInteraction',
188
+ data: {
189
+ key: s.key,
190
+ stickerKey: s.stickerKey,
191
+ interactionType: s.type,
192
+ },
193
+ }
194
+ }
195
+ if (content.groupRootKeyShare) {
196
+ return {
197
+ type: 'groupRootKeyShare',
198
+ data: {
199
+ keys: (content.groupRootKeyShare.keys || []).map(k => ({
200
+ keyId: k.keyId,
201
+ expiryTimestampMs: k.expiryTimestampMs,
202
+ createdTimestampMs: k.createdTimestampMs,
203
+ // groupRootKey itself is left as raw bytes — this is key
204
+ // material, handle it the same way you'd handle any other
205
+ // signal key, not as a display value.
206
+ })),
207
+ },
208
+ }
209
+ }
210
+ if (content.rootSecretDistributeMessage) {
211
+ return {
212
+ type: 'rootSecretDistribute',
213
+ // Field-level shape for this one is not documented anywhere public;
214
+ // returned as-is rather than guessing a flattened structure.
215
+ data: content.rootSecretDistributeMessage,
216
+ }
217
+ }
218
+ if (content.newsletterAdminProfileMessage || content.newsletterAdminProfileMessageV2 || content.newsletterAdminProfileStatusMessage) {
219
+ return {
220
+ type: 'newsletterAdminProfile',
221
+ // These three are FutureProofMessage wrappers (same shape as
222
+ // viewOnceMessage) — the useful payload is one level in.
223
+ data: {
224
+ message: (content.newsletterAdminProfileMessage
225
+ || content.newsletterAdminProfileMessageV2
226
+ || content.newsletterAdminProfileStatusMessage)?.message,
227
+ },
228
+ }
229
+ }
230
+ return undefined
231
+ }
@@ -0,0 +1,92 @@
1
+ /// <reference types="node" />
2
+ import { AxiosRequestConfig } from 'axios';
3
+ import { Logger } from 'pino';
4
+ import { proto } from '../../WAProto';
5
+ import { BaileysEventEmitter, BaileysEventMap, WACallUpdateType, WAVersion } from '../Types';
6
+ import { BinaryNode } from '../WABinary';
7
+ export declare const Browsers: {
8
+ ubuntu: (browser: any) => [string, string, string];
9
+ macOS: (browser: any) => [string, string, string];
10
+ baileys: (browser: any) => [string, string, string];
11
+ windows: (browser: any) => [string, string, string];
12
+ /** The appropriate browser based on your OS & release */
13
+ appropriate: (browser: any) => [string, string, string];
14
+ };
15
+ export declare const getPlatformId: (browser: string) => any;
16
+ export declare const getKeyAuthor: (key: proto.IMessageKey | undefined | null, meId?: string) => string;
17
+ export declare const writeRandomPadMax16: (msg: Uint8Array) => Buffer;
18
+ export declare const unpadRandomMax16: (e: Uint8Array | Buffer) => Uint8Array;
19
+ export declare const encodeWAMessage: (message: proto.IMessage) => Buffer;
20
+ export declare const generateRegistrationId: () => number;
21
+ export declare const encodeBigEndian: (e: number, t?: number) => Uint8Array;
22
+ export declare const toNumber: (t: Long | number | null | undefined) => number;
23
+ /** unix timestamp of a date in seconds */
24
+ export declare const unixTimestampSeconds: (date?: Date) => number;
25
+ export type DebouncedTimeout = ReturnType<typeof debouncedTimeout>;
26
+ export declare const debouncedTimeout: (intervalMs?: number, task?: () => void) => {
27
+ start: (newIntervalMs?: number, newTask?: () => void) => void;
28
+ cancel: () => void;
29
+ setTask: (newTask: () => void) => () => void;
30
+ setInterval: (newInterval: number) => number;
31
+ };
32
+ export declare const delay: (ms: number) => Promise<void>;
33
+ export declare const delayCancellable: (ms: number) => {
34
+ delay: Promise<void>;
35
+ cancel: () => void;
36
+ };
37
+ export declare function promiseTimeout<T>(ms: number | undefined, promise: (resolve: (v: T) => void, reject: (error: any) => void) => void): Promise<T>;
38
+ export declare const generateMessageIDV2: (userId?: string) => string;
39
+ export declare const generateMessageID: () => string;
40
+ export declare function bindWaitForEvent<T extends keyof BaileysEventMap>(ev: BaileysEventEmitter, event: T): (check: (u: BaileysEventMap[T]) => boolean | undefined, timeoutMs?: number) => Promise<void>;
41
+ export declare const bindWaitForConnectionUpdate: (ev: BaileysEventEmitter) => (check: (u: Partial<import("../Types").ConnectionState>) => boolean | undefined, timeoutMs?: number) => Promise<void>;
42
+ export declare const printQRIfNecessaryListener: (ev: BaileysEventEmitter, logger: Logger) => void;
43
+ /**
44
+ * utility that fetches latest baileys version from the master branch.
45
+ * Use to ensure your WA connection is always on the latest version
46
+ */
47
+ export declare const fetchLatestBaileysVersion: (options?: AxiosRequestConfig<any>) => Promise<{
48
+ version: WAVersion;
49
+ isLatest: boolean;
50
+ error?: undefined;
51
+ } | {
52
+ version: WAVersion;
53
+ isLatest: boolean;
54
+ error: any;
55
+ }>;
56
+ /**
57
+ * A utility that fetches the latest web version of whatsapp.
58
+ * Use to ensure your WA connection is always on the latest version
59
+ */
60
+ export declare const fetchLatestWaWebVersion: (options: AxiosRequestConfig<any>) => Promise<{
61
+ version: WAVersion;
62
+ isLatest: boolean;
63
+ error?: undefined;
64
+ } | {
65
+ version: WAVersion;
66
+ isLatest: boolean;
67
+ error: any;
68
+ }>;
69
+ /** unique message tag prefix for MD clients */
70
+ export declare const generateMdTagPrefix: () => string;
71
+ /**
72
+ * Given a type of receipt, returns what the new status of the message should be
73
+ * @param type type from receipt
74
+ */
75
+ export declare const getStatusFromReceiptType: (type: string | undefined) => proto.WebMessageInfo.Status;
76
+ /**
77
+ * Stream errors generally provide a reason, map that to a baileys DisconnectReason
78
+ * @param reason the string reason given, eg. "conflict"
79
+ */
80
+ export declare const getErrorCodeFromStreamError: (node: BinaryNode) => {
81
+ reason: string;
82
+ statusCode: number;
83
+ };
84
+ export declare const getCallStatusFromNode: ({ tag, attrs }: BinaryNode) => WACallUpdateType;
85
+ export declare const getCodeFromWSError: (error: Error) => number;
86
+ /**
87
+ * Is the given platform WA business
88
+ * @param platform AuthenticationCreds.platform
89
+ */
90
+ export declare const isWABusinessPlatform: (platform: string) => boolean;
91
+ export declare function trimUndefined(obj: any): any;
92
+ export declare function bytesToCrockford(buffer: Buffer): string;