@neelegirly/baileys 2.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 (206) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +108 -0
  3. package/WAProto/WAProto.proto +5007 -0
  4. package/WAProto/index.d.ts +57712 -0
  5. package/WAProto/index.js +178969 -0
  6. package/lib/Defaults/baileys-version.json +1 -0
  7. package/lib/Defaults/index.d.ts +68 -0
  8. package/lib/Defaults/index.js +155 -0
  9. package/lib/Defaults/phonenumber-mcc.json +223 -0
  10. package/lib/Signal/WASignalGroup/GroupProtocol.js +1909 -0
  11. package/lib/Signal/WASignalGroup/ciphertext_message.js +16 -0
  12. package/lib/Signal/WASignalGroup/generate-proto.sh +1 -0
  13. package/lib/Signal/WASignalGroup/group.proto +42 -0
  14. package/lib/Signal/WASignalGroup/group_cipher.js +120 -0
  15. package/lib/Signal/WASignalGroup/group_session_builder.js +46 -0
  16. package/lib/Signal/WASignalGroup/index.js +6 -0
  17. package/lib/Signal/WASignalGroup/keyhelper.js +22 -0
  18. package/lib/Signal/WASignalGroup/protobufs.js +3 -0
  19. package/lib/Signal/WASignalGroup/queue_job.js +69 -0
  20. package/lib/Signal/WASignalGroup/readme.md +6 -0
  21. package/lib/Signal/WASignalGroup/sender_chain_key.js +50 -0
  22. package/lib/Signal/WASignalGroup/sender_key_distribution_message.js +78 -0
  23. package/lib/Signal/WASignalGroup/sender_key_message.js +92 -0
  24. package/lib/Signal/WASignalGroup/sender_key_name.js +70 -0
  25. package/lib/Signal/WASignalGroup/sender_key_record.js +56 -0
  26. package/lib/Signal/WASignalGroup/sender_key_state.js +129 -0
  27. package/lib/Signal/WASignalGroup/sender_message_key.js +39 -0
  28. package/lib/Signal/libsignal.d.ts +4 -0
  29. package/lib/Signal/libsignal.js +427 -0
  30. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -0
  31. package/lib/Socket/Client/abstract-socket-client.js +13 -0
  32. package/lib/Socket/Client/index.d.ts +2 -0
  33. package/lib/Socket/Client/index.js +22 -0
  34. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -0
  35. package/lib/Socket/Client/mobile-socket-client.js +65 -0
  36. package/lib/Socket/Client/types.d.ts +16 -0
  37. package/lib/Socket/Client/types.js +18 -0
  38. package/lib/Socket/Client/websocket.d.ts +13 -0
  39. package/lib/Socket/Client/websocket.js +62 -0
  40. package/lib/Socket/business.d.ts +187 -0
  41. package/lib/Socket/business.js +268 -0
  42. package/lib/Socket/chats.d.ts +98 -0
  43. package/lib/Socket/chats.js +1133 -0
  44. package/lib/Socket/communities.d.ts +223 -0
  45. package/lib/Socket/communities.js +433 -0
  46. package/lib/Socket/groups.d.ts +131 -0
  47. package/lib/Socket/groups.js +352 -0
  48. package/lib/Socket/index.d.ts +191 -0
  49. package/lib/Socket/index.js +23 -0
  50. package/lib/Socket/messages-recv.d.ts +177 -0
  51. package/lib/Socket/messages-recv.js +1826 -0
  52. package/lib/Socket/messages-send.d.ts +168 -0
  53. package/lib/Socket/messages-send.js +1537 -0
  54. package/lib/Socket/mex.d.ts +2 -0
  55. package/lib/Socket/mex.js +47 -0
  56. package/lib/Socket/newsletter.d.ts +147 -0
  57. package/lib/Socket/newsletter.js +286 -0
  58. package/lib/Socket/registration.d.ts +266 -0
  59. package/lib/Socket/registration.js +166 -0
  60. package/lib/Socket/socket.d.ts +45 -0
  61. package/lib/Socket/socket.js +928 -0
  62. package/lib/Socket/usync.d.ts +37 -0
  63. package/lib/Socket/usync.js +83 -0
  64. package/lib/Store/index.d.ts +4 -0
  65. package/lib/Store/index.js +24 -0
  66. package/lib/Store/make-cache-manager-store.d.ts +14 -0
  67. package/lib/Store/make-cache-manager-store.js +90 -0
  68. package/lib/Store/make-in-memory-store.d.ts +123 -0
  69. package/lib/Store/make-in-memory-store.js +429 -0
  70. package/lib/Store/make-ordered-dictionary.d.ts +12 -0
  71. package/lib/Store/make-ordered-dictionary.js +86 -0
  72. package/lib/Store/object-repository.d.ts +10 -0
  73. package/lib/Store/object-repository.js +31 -0
  74. package/lib/Types/Auth.d.ts +120 -0
  75. package/lib/Types/Auth.js +3 -0
  76. package/lib/Types/Bussines.d.ts +20 -0
  77. package/lib/Types/Bussines.js +2 -0
  78. package/lib/Types/Call.d.ts +14 -0
  79. package/lib/Types/Call.js +3 -0
  80. package/lib/Types/Chat.d.ts +141 -0
  81. package/lib/Types/Chat.js +9 -0
  82. package/lib/Types/Contact.d.ts +20 -0
  83. package/lib/Types/Contact.js +3 -0
  84. package/lib/Types/Events.d.ts +237 -0
  85. package/lib/Types/Events.js +3 -0
  86. package/lib/Types/GroupMetadata.d.ts +66 -0
  87. package/lib/Types/GroupMetadata.js +3 -0
  88. package/lib/Types/Label.d.ts +48 -0
  89. package/lib/Types/Label.js +31 -0
  90. package/lib/Types/LabelAssociation.d.ts +35 -0
  91. package/lib/Types/LabelAssociation.js +13 -0
  92. package/lib/Types/Message.d.ts +473 -0
  93. package/lib/Types/Message.js +13 -0
  94. package/lib/Types/MexUpdates.d.ts +9 -0
  95. package/lib/Types/MexUpdates.js +18 -0
  96. package/lib/Types/Newsletter.d.ts +109 -0
  97. package/lib/Types/Newsletter.js +40 -0
  98. package/lib/Types/Product.d.ts +92 -0
  99. package/lib/Types/Product.js +3 -0
  100. package/lib/Types/Signal.d.ts +68 -0
  101. package/lib/Types/Signal.js +3 -0
  102. package/lib/Types/Socket.d.ts +122 -0
  103. package/lib/Types/Socket.js +3 -0
  104. package/lib/Types/State.d.ts +41 -0
  105. package/lib/Types/State.js +14 -0
  106. package/lib/Types/USync.d.ts +26 -0
  107. package/lib/Types/USync.js +3 -0
  108. package/lib/Types/index.d.ts +80 -0
  109. package/lib/Types/index.js +48 -0
  110. package/lib/Utils/auth-utils.d.ts +21 -0
  111. package/lib/Utils/auth-utils.js +205 -0
  112. package/lib/Utils/baileys-event-stream.d.ts +18 -0
  113. package/lib/Utils/baileys-event-stream.js +70 -0
  114. package/lib/Utils/branding.d.ts +24 -0
  115. package/lib/Utils/branding.js +209 -0
  116. package/lib/Utils/business.d.ts +29 -0
  117. package/lib/Utils/business.js +255 -0
  118. package/lib/Utils/chat-utils.d.ts +82 -0
  119. package/lib/Utils/chat-utils.js +798 -0
  120. package/lib/Utils/check-npm-version.d.ts +18 -0
  121. package/lib/Utils/check-npm-version.js +130 -0
  122. package/lib/Utils/crypto.d.ts +56 -0
  123. package/lib/Utils/crypto.js +179 -0
  124. package/lib/Utils/decode-wa-message.d.ts +41 -0
  125. package/lib/Utils/decode-wa-message.js +288 -0
  126. package/lib/Utils/event-buffer.d.ts +39 -0
  127. package/lib/Utils/event-buffer.js +565 -0
  128. package/lib/Utils/generics.d.ts +129 -0
  129. package/lib/Utils/generics.js +630 -0
  130. package/lib/Utils/history.d.ts +23 -0
  131. package/lib/Utils/history.js +110 -0
  132. package/lib/Utils/index.d.ts +22 -0
  133. package/lib/Utils/index.js +42 -0
  134. package/lib/Utils/link-preview.d.ts +23 -0
  135. package/lib/Utils/link-preview.js +120 -0
  136. package/lib/Utils/logger.d.ts +13 -0
  137. package/lib/Utils/logger.js +7 -0
  138. package/lib/Utils/lt-hash.d.ts +14 -0
  139. package/lib/Utils/lt-hash.js +58 -0
  140. package/lib/Utils/make-mutex.d.ts +9 -0
  141. package/lib/Utils/make-mutex.js +49 -0
  142. package/lib/Utils/message-retry-manager.d.ts +84 -0
  143. package/lib/Utils/message-retry-manager.js +179 -0
  144. package/lib/Utils/messages-media.d.ts +129 -0
  145. package/lib/Utils/messages-media.js +806 -0
  146. package/lib/Utils/messages.d.ts +103 -0
  147. package/lib/Utils/messages.js +1579 -0
  148. package/lib/Utils/noise-handler.d.ts +20 -0
  149. package/lib/Utils/noise-handler.js +155 -0
  150. package/lib/Utils/process-message.d.ts +49 -0
  151. package/lib/Utils/process-message.js +443 -0
  152. package/lib/Utils/signal.d.ts +42 -0
  153. package/lib/Utils/signal.js +168 -0
  154. package/lib/Utils/use-mongo-file-auth-state.d.ts +6 -0
  155. package/lib/Utils/use-mongo-file-auth-state.js +84 -0
  156. package/lib/Utils/use-multi-file-auth-state.d.ts +18 -0
  157. package/lib/Utils/use-multi-file-auth-state.js +249 -0
  158. package/lib/Utils/use-single-file-auth-state.d.ts +13 -0
  159. package/lib/Utils/use-single-file-auth-state.js +80 -0
  160. package/lib/Utils/validate-connection.d.ts +13 -0
  161. package/lib/Utils/validate-connection.js +218 -0
  162. package/lib/WABinary/constants.d.ts +30 -0
  163. package/lib/WABinary/constants.js +1316 -0
  164. package/lib/WABinary/decode.d.ts +9 -0
  165. package/lib/WABinary/decode.js +288 -0
  166. package/lib/WABinary/encode.d.ts +3 -0
  167. package/lib/WABinary/encode.js +265 -0
  168. package/lib/WABinary/generic-utils.d.ts +28 -0
  169. package/lib/WABinary/generic-utils.js +142 -0
  170. package/lib/WABinary/index.d.ts +5 -0
  171. package/lib/WABinary/index.js +25 -0
  172. package/lib/WABinary/jid-utils.d.ts +59 -0
  173. package/lib/WABinary/jid-utils.js +105 -0
  174. package/lib/WABinary/types.d.ts +22 -0
  175. package/lib/WABinary/types.js +3 -0
  176. package/lib/WAM/BinaryInfo.d.ts +16 -0
  177. package/lib/WAM/BinaryInfo.js +17 -0
  178. package/lib/WAM/constants.d.ts +47 -0
  179. package/lib/WAM/constants.js +15371 -0
  180. package/lib/WAM/encode.d.ts +3 -0
  181. package/lib/WAM/encode.js +165 -0
  182. package/lib/WAM/index.d.ts +3 -0
  183. package/lib/WAM/index.js +23 -0
  184. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +28 -0
  185. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +69 -0
  186. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  187. package/lib/WAUSync/Protocols/USyncContactProtocol.js +36 -0
  188. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +26 -0
  189. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +62 -0
  190. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +14 -0
  191. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +35 -0
  192. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +9 -0
  193. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +30 -0
  194. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +14 -0
  195. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +46 -0
  196. package/lib/WAUSync/Protocols/index.d.ts +6 -0
  197. package/lib/WAUSync/Protocols/index.js +26 -0
  198. package/lib/WAUSync/USyncQuery.d.ts +31 -0
  199. package/lib/WAUSync/USyncQuery.js +82 -0
  200. package/lib/WAUSync/USyncUser.d.ts +12 -0
  201. package/lib/WAUSync/USyncUser.js +30 -0
  202. package/lib/WAUSync/index.d.ts +3 -0
  203. package/lib/WAUSync/index.js +23 -0
  204. package/lib/index.d.ts +13 -0
  205. package/lib/index.js +33 -0
  206. package/package.json +120 -0
@@ -0,0 +1,255 @@
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const boom_1 = require("@hapi/boom")
6
+ const crypto_1 = require("crypto")
7
+ const path_1 = require("path")
8
+ const os_1 = require("os")
9
+ const fs_1 = require("fs")
10
+ const WABinary_1 = require("../WABinary")
11
+ const generics_1 = require("./generics")
12
+ const messages_media_1 = require("./messages-media")
13
+
14
+ const parseCatalogNode = (node) => {
15
+ const catalogNode = WABinary_1.getBinaryNodeChild(node, 'product_catalog')
16
+ const products = WABinary_1.getBinaryNodeChildren(catalogNode, 'product').map(parseProductNode)
17
+ const paging = WABinary_1.getBinaryNodeChild(catalogNode, 'paging')
18
+ return {
19
+ products,
20
+ nextPageCursor: paging
21
+ ? WABinary_1.getBinaryNodeChildString(paging, 'after')
22
+ : undefined
23
+ }
24
+ }
25
+
26
+ const parseCollectionsNode = (node) => {
27
+ const collectionsNode = WABinary_1.getBinaryNodeChild(node, 'collections')
28
+ const collections = WABinary_1.getBinaryNodeChildren(collectionsNode, 'collection').map(collectionNode => {
29
+ const id = WABinary_1.getBinaryNodeChildString(collectionNode, 'id')
30
+ const name = WABinary_1.getBinaryNodeChildString(collectionNode, 'name')
31
+ const products = WABinary_1.getBinaryNodeChildren(collectionNode, 'product').map(parseProductNode)
32
+ return {
33
+ id,
34
+ name,
35
+ products,
36
+ status: parseStatusInfo(collectionNode)
37
+ }
38
+ })
39
+ return {
40
+ collections
41
+ }
42
+ }
43
+
44
+ const parseOrderDetailsNode = (node) => {
45
+ const orderNode = WABinary_1.getBinaryNodeChild(node, 'order')
46
+ const products = WABinary_1.getBinaryNodeChildren(orderNode, 'product').map(productNode => {
47
+ const imageNode = WABinary_1.getBinaryNodeChild(productNode, 'image')
48
+ return {
49
+ id: WABinary_1.getBinaryNodeChildString(productNode, 'id'),
50
+ name: WABinary_1.getBinaryNodeChildString(productNode, 'name'),
51
+ imageUrl: WABinary_1.getBinaryNodeChildString(imageNode, 'url'),
52
+ price: +WABinary_1.getBinaryNodeChildString(productNode, 'price'),
53
+ currency: WABinary_1.getBinaryNodeChildString(productNode, 'currency'),
54
+ quantity: +WABinary_1.getBinaryNodeChildString(productNode, 'quantity')
55
+ }
56
+ })
57
+ const priceNode = WABinary_1.getBinaryNodeChild(orderNode, 'price')
58
+ const orderDetails = {
59
+ price: {
60
+ total: +WABinary_1.getBinaryNodeChildString(priceNode, 'total'),
61
+ currency: WABinary_1.getBinaryNodeChildString(priceNode, 'currency'),
62
+ },
63
+ products
64
+ }
65
+ return orderDetails
66
+ }
67
+
68
+ const toProductNode = (productId, product) => {
69
+ const attrs = {}
70
+ const content = []
71
+ if (typeof productId !== 'undefined') {
72
+ content.push({
73
+ tag: 'id',
74
+ attrs: {},
75
+ content: Buffer.from(productId)
76
+ })
77
+ }
78
+ if (typeof product.name !== 'undefined') {
79
+ content.push({
80
+ tag: 'name',
81
+ attrs: {},
82
+ content: Buffer.from(product.name)
83
+ })
84
+ }
85
+ if (typeof product.description !== 'undefined') {
86
+ content.push({
87
+ tag: 'description',
88
+ attrs: {},
89
+ content: Buffer.from(product.description)
90
+ })
91
+ }
92
+ if (typeof product.retailerId !== 'undefined') {
93
+ content.push({
94
+ tag: 'retailer_id',
95
+ attrs: {},
96
+ content: Buffer.from(product.retailerId)
97
+ })
98
+ }
99
+ if (product.images.length) {
100
+ content.push({
101
+ tag: 'media',
102
+ attrs: {},
103
+ content: product.images.map(img => {
104
+ if (!('url' in img)) {
105
+ throw new boom_1.Boom('Expected img for product to already be uploaded', { statusCode: 400 })
106
+ }
107
+ return {
108
+ tag: 'image',
109
+ attrs: {},
110
+ content: [
111
+ {
112
+ tag: 'url',
113
+ attrs: {},
114
+ content: Buffer.from(img.url.toString())
115
+ }
116
+ ]
117
+ }
118
+ })
119
+ })
120
+ }
121
+ if (typeof product.price !== 'undefined') {
122
+ content.push({
123
+ tag: 'price',
124
+ attrs: {},
125
+ content: Buffer.from(product.price.toString())
126
+ })
127
+ }
128
+ if (typeof product.currency !== 'undefined') {
129
+ content.push({
130
+ tag: 'currency',
131
+ attrs: {},
132
+ content: Buffer.from(product.currency)
133
+ })
134
+ }
135
+ if ('originCountryCode' in product) {
136
+ if (typeof product.originCountryCode === 'undefined') {
137
+ attrs['compliance_category'] = 'COUNTRY_ORIGIN_EXEMPT'
138
+ }
139
+ else {
140
+ content.push({
141
+ tag: 'compliance_info',
142
+ attrs: {},
143
+ content: [
144
+ {
145
+ tag: 'country_code_origin',
146
+ attrs: {},
147
+ content: Buffer.from(product.originCountryCode)
148
+ }
149
+ ]
150
+ })
151
+ }
152
+ }
153
+ if (typeof product.isHidden !== 'undefined') {
154
+ attrs['is_hidden'] = product.isHidden.toString()
155
+ }
156
+ const node = {
157
+ tag: 'product',
158
+ attrs,
159
+ content
160
+ }
161
+ return node
162
+ }
163
+
164
+ const parseProductNode = (productNode) => {
165
+ const isHidden = productNode.attrs.is_hidden === 'true'
166
+ const id = WABinary_1.getBinaryNodeChildString(productNode, 'id')
167
+ const mediaNode = WABinary_1.getBinaryNodeChild(productNode, 'media')
168
+ const statusInfoNode = WABinary_1.getBinaryNodeChild(productNode, 'status_info')
169
+ const product = {
170
+ id,
171
+ imageUrls: parseImageUrls(mediaNode),
172
+ reviewStatus: {
173
+ whatsapp: WABinary_1.getBinaryNodeChildString(statusInfoNode, 'status'),
174
+ },
175
+ availability: 'in stock',
176
+ name: WABinary_1.getBinaryNodeChildString(productNode, 'name'),
177
+ retailerId: WABinary_1.getBinaryNodeChildString(productNode, 'retailer_id'),
178
+ url: WABinary_1.getBinaryNodeChildString(productNode, 'url'),
179
+ description: WABinary_1.getBinaryNodeChildString(productNode, 'description'),
180
+ price: +WABinary_1.getBinaryNodeChildString(productNode, 'price'),
181
+ currency: WABinary_1.getBinaryNodeChildString(productNode, 'currency'),
182
+ isHidden,
183
+ }
184
+ return product
185
+ }
186
+
187
+ /**
188
+ * Uploads images not already uploaded to WA's servers
189
+ */
190
+ async function uploadingNecessaryImagesOfProduct(product, waUploadToServer, timeoutMs = 30000) {
191
+ product = {
192
+ ...product,
193
+ images: product.images ? await uploadingNecessaryImages(product.images, waUploadToServer, timeoutMs) : product.images
194
+ }
195
+ return product
196
+ }
197
+
198
+ /**
199
+ * Uploads images not already uploaded to WA's servers
200
+ */
201
+ const uploadingNecessaryImages = async (images, waUploadToServer, timeoutMs = 30000) => {
202
+ const results = await Promise.all(images.map(async (img) => {
203
+ if ('url' in img) {
204
+ const url = img.url.toString()
205
+ if (url.includes('.whatsapp.net')) {
206
+ return { url }
207
+ }
208
+ }
209
+ const { stream } = await messages_media_1.getStream(img)
210
+ const hasher = crypto_1.createHash('sha256')
211
+ const filePath = path_1.join(process.cwd(), 'tmp', 'img' + generics_1.generateMessageID())
212
+ const encFileWriteStream = fs_1.createWriteStream(filePath)
213
+ for await (const block of stream) {
214
+ hasher.update(block)
215
+ encFileWriteStream.write(block)
216
+ }
217
+ const sha = hasher.digest('base64')
218
+ const { directPath } = await waUploadToServer(filePath, {
219
+ mediaType: 'product-catalog-image',
220
+ fileEncSha256B64: sha,
221
+ timeoutMs
222
+ })
223
+ await fs_1.promises
224
+ .unlink(filePath)
225
+ .catch(err => console.log('Error deleting temp file ', err))
226
+ return { url: messages_media_1.getUrlFromDirectPath(directPath) }
227
+ }))
228
+ return results
229
+ }
230
+
231
+ const parseImageUrls = (mediaNode) => {
232
+ const imgNode = WABinary_1.getBinaryNodeChild(mediaNode, 'image')
233
+ return {
234
+ requested: WABinary_1.getBinaryNodeChildString(imgNode, 'request_image_url'),
235
+ original: WABinary_1.getBinaryNodeChildString(imgNode, 'original_image_url')
236
+ }
237
+ }
238
+
239
+ const parseStatusInfo = (mediaNode) => {
240
+ const node = WABinary_1.getBinaryNodeChild(mediaNode, 'status_info')
241
+ return {
242
+ status: WABinary_1.getBinaryNodeChildString(node, 'status'),
243
+ canAppeal: WABinary_1.getBinaryNodeChildString(node, 'can_appeal') === 'true',
244
+ }
245
+ }
246
+
247
+ module.exports = {
248
+ parseCatalogNode,
249
+ parseCollectionsNode,
250
+ parseOrderDetailsNode,
251
+ toProductNode,
252
+ parseProductNode,
253
+ uploadingNecessaryImagesOfProduct,
254
+ uploadingNecessaryImages
255
+ }
@@ -0,0 +1,82 @@
1
+ import { AxiosRequestConfig } from 'axios'
2
+ import { proto } from '../../WAProto'
3
+ import { BaileysEventEmitter, ChatModification, ChatMutation, Contact, InitialAppStateSyncOptions, LTHashState, WAPatchCreate, WAPatchName } from '../Types'
4
+ import { BinaryNode } from '../WABinary'
5
+ import { ILogger } from './logger'
6
+
7
+ type FetchAppStateSyncKey = (keyId: string) => Promise<proto.Message.IAppStateSyncKeyData | null | undefined>
8
+
9
+ export type ChatMutationMap = {
10
+ [index: string]: ChatMutation
11
+ }
12
+
13
+ export declare const newLTHashState: () => LTHashState
14
+
15
+ export declare const encodeSyncdPatch: ({ type, index, syncAction, apiVersion, operation }: WAPatchCreate, myAppStateKeyId: string, state: LTHashState, getAppStateSyncKey: FetchAppStateSyncKey) => Promise<{
16
+ patch: proto.ISyncdPatch
17
+ state: LTHashState
18
+ }>
19
+
20
+ export declare const decodeSyncdMutations: (msgMutations: (proto.ISyncdMutation | proto.ISyncdRecord)[], initialState: LTHashState, getAppStateSyncKey: FetchAppStateSyncKey, onMutation: (mutation: ChatMutation) => void, validateMacs: boolean) => Promise<{
21
+ hash: Buffer
22
+ indexValueMap: {
23
+ [indexMacBase64: string]: {
24
+ valueMac: Uint8Array | Buffer
25
+ }
26
+ }
27
+ }>
28
+
29
+ export declare const decodeSyncdPatch: (msg: proto.ISyncdPatch, name: WAPatchName, initialState: LTHashState, getAppStateSyncKey: FetchAppStateSyncKey, onMutation: (mutation: ChatMutation) => void, validateMacs: boolean) => Promise<{
30
+ hash: Buffer
31
+ indexValueMap: {
32
+ [indexMacBase64: string]: {
33
+ valueMac: Uint8Array | Buffer
34
+ }
35
+ }
36
+ }>
37
+
38
+ export declare const extractSyncdPatches: (result: BinaryNode, options: AxiosRequestConfig<{}>) => Promise<{
39
+ critical_block: {
40
+ patches: proto.ISyncdPatch[]
41
+ hasMorePatches: boolean
42
+ snapshot?: proto.ISyncdSnapshot | undefined
43
+ }
44
+ critical_unblock_low: {
45
+ patches: proto.ISyncdPatch[]
46
+ hasMorePatches: boolean
47
+ snapshot?: proto.ISyncdSnapshot | undefined
48
+ }
49
+ regular_high: {
50
+ patches: proto.ISyncdPatch[]
51
+ hasMorePatches: boolean
52
+ snapshot?: proto.ISyncdSnapshot | undefined
53
+ }
54
+ regular_low: {
55
+ patches: proto.ISyncdPatch[]
56
+ hasMorePatches: boolean
57
+ snapshot?: proto.ISyncdSnapshot | undefined
58
+ }
59
+ regular: {
60
+ patches: proto.ISyncdPatch[]
61
+ hasMorePatches: boolean
62
+ snapshot?: proto.ISyncdSnapshot | undefined
63
+ }
64
+ }>
65
+
66
+ export declare const downloadExternalBlob: (blob: proto.IExternalBlobReference, options: AxiosRequestConfig<{}>) => Promise<Buffer>
67
+ export declare const downloadExternalPatch: (blob: proto.IExternalBlobReference, options: AxiosRequestConfig<{}>) => Promise<proto.SyncdMutations>
68
+ export declare const decodeSyncdSnapshot: (name: WAPatchName, snapshot: proto.ISyncdSnapshot, getAppStateSyncKey: FetchAppStateSyncKey, minimumVersionNumber: number | undefined, validateMacs?: boolean) => Promise<{
69
+ state: LTHashState
70
+ mutationMap: ChatMutationMap
71
+ }>
72
+
73
+ export declare const decodePatches: (name: WAPatchName, syncds: proto.ISyncdPatch[], initial: LTHashState, getAppStateSyncKey: FetchAppStateSyncKey, options: AxiosRequestConfig<{}>, minimumVersionNumber?: number, logger?: ILogger, validateMacs?: boolean) => Promise<{
74
+ state: LTHashState
75
+ mutationMap: ChatMutationMap
76
+ }>
77
+
78
+ export declare const chatModificationToAppPatch: (mod: ChatModification, jid: string) => WAPatchCreate
79
+
80
+ export declare const processSyncAction: (syncAction: ChatMutation, ev: BaileysEventEmitter, me: Contact, initialSyncOpts?: InitialAppStateSyncOptions, logger?: ILogger) => void
81
+
82
+ export {}