mqtt5-wasm 0.8.1 → 0.8.3

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.
package/README.md CHANGED
@@ -11,6 +11,7 @@ MQTT v5.0 and v3.1.1 WebAssembly client and broker for browser environments.
11
11
  - **Full QoS support** - QoS 0, 1, and 2 with proper acknowledgment
12
12
  - **Shared subscriptions** - Load balancing across multiple subscribers
13
13
  - **Event callbacks** - Connection, disconnect, and error event handlers
14
+ - **Broker lifecycle events** - Monitor client connections, publishes, and subscriptions
14
15
  - **Automatic keepalive** - Connection health monitoring with timeout detection
15
16
  - **Will messages** - Last Will and Testament (LWT) support
16
17
 
@@ -90,6 +91,38 @@ const client = new WasmMqttClient("local-client");
90
91
  await client.connect_message_port(port);
91
92
  ```
92
93
 
94
+ ### Broker Lifecycle Events
95
+
96
+ Monitor broker activity with lifecycle callbacks:
97
+
98
+ ```javascript
99
+ const broker = new WasmBroker();
100
+
101
+ broker.on_client_connect((event) => {
102
+ console.log(`Client connected: ${event.clientId}, cleanStart: ${event.cleanStart}`);
103
+ });
104
+
105
+ broker.on_client_disconnect((event) => {
106
+ console.log(`Client disconnected: ${event.clientId}, reason: ${event.reason}`);
107
+ });
108
+
109
+ broker.on_client_publish((event) => {
110
+ console.log(`Publish: ${event.topic} (${event.payloadSize} bytes, QoS ${event.qos})`);
111
+ });
112
+
113
+ broker.on_client_subscribe((event) => {
114
+ console.log(`Subscribe: ${event.clientId} -> ${event.subscriptions.map(s => s.topic)}`);
115
+ });
116
+
117
+ broker.on_client_unsubscribe((event) => {
118
+ console.log(`Unsubscribe: ${event.clientId} -> ${event.topics}`);
119
+ });
120
+
121
+ broker.on_message_delivered((event) => {
122
+ console.log(`Message delivered: packetId=${event.packetId}, QoS ${event.qos}`);
123
+ });
124
+ ```
125
+
93
126
  ## Documentation
94
127
 
95
128
  See the [main repository](https://github.com/LabOverWire/mqtt-lib) for complete documentation and examples.
package/mqtt5_wasm.d.ts CHANGED
@@ -34,7 +34,7 @@ export class WasmBroker {
34
34
  add_bridge(config: WasmBridgeConfig, remote_port: MessagePort): Promise<void>;
35
35
  list_roles(): Promise<string[]>;
36
36
  role_count(): Promise<number>;
37
- user_count(): Promise<number>;
37
+ user_count(): number;
38
38
  /**
39
39
  * # Errors
40
40
  * Returns an error if the role does not exist.
@@ -42,7 +42,7 @@ export class WasmBroker {
42
42
  assign_role(username: string, role_name: string): Promise<void>;
43
43
  clear_roles(): Promise<void>;
44
44
  remove_role(name: string): Promise<boolean>;
45
- remove_user(username: string): Promise<boolean>;
45
+ remove_user(username: string): boolean;
46
46
  /**
47
47
  * # Errors
48
48
  * Returns an error if broker initialization fails.
@@ -70,6 +70,10 @@ export class WasmBroker {
70
70
  */
71
71
  remove_bridge(name: string): Promise<void>;
72
72
  unassign_role(username: string, role_name: string): Promise<boolean>;
73
+ /**
74
+ * # Errors
75
+ * Returns an error if the config write lock cannot be acquired.
76
+ */
73
77
  update_config(new_config: WasmBrokerConfig): void;
74
78
  acl_rule_count(): Promise<number>;
75
79
  get_user_roles(username: string): Promise<string[]>;
@@ -80,14 +84,20 @@ export class WasmBroker {
80
84
  on_config_change(callback: Function): void;
81
85
  start_sys_topics(): void;
82
86
  stop_all_bridges(): Promise<void>;
83
- add_user_with_hash(username: string, password_hash: string): Promise<void>;
87
+ on_client_connect(callback: Function): void;
88
+ on_client_publish(callback: Function): void;
89
+ add_user_with_hash(username: string, password_hash: string): void;
84
90
  /**
85
91
  * # Errors
86
92
  * Returns an error if the `MessageChannel` cannot be created.
87
93
  */
88
94
  create_client_port(): MessagePort;
89
95
  get_max_packet_size(): number;
96
+ on_client_subscribe(callback: Function): void;
97
+ on_client_disconnect(callback: Function): void;
98
+ on_message_delivered(callback: Function): void;
90
99
  set_acl_default_deny(): Promise<void>;
100
+ on_client_unsubscribe(callback: Function): void;
91
101
  set_acl_default_allow(): Promise<void>;
92
102
  get_session_expiry_interval_secs(): number;
93
103
  start_sys_topics_with_interval_secs(interval_secs: number): void;
@@ -101,8 +111,8 @@ export class WasmBroker {
101
111
  * # Errors
102
112
  * Returns an error if adding the user fails.
103
113
  */
104
- add_user(username: string, password: string): Promise<void>;
105
- has_user(username: string): Promise<boolean>;
114
+ add_user(username: string, password: string): void;
115
+ has_user(username: string): boolean;
106
116
  }
107
117
 
108
118
  export class WasmBrokerConfig {
@@ -354,43 +364,49 @@ export interface InitOutput {
354
364
  readonly wasmbridgeconfig_set_keep_alive_secs: (a: number, b: number) => void;
355
365
  readonly wasmbridgeconfig_set_password: (a: number, b: number, c: number) => void;
356
366
  readonly wasmbridgeconfig_set_username: (a: number, b: number, c: number) => void;
357
- readonly wasmbridgeconfig_validate: (a: number) => [number, number];
358
- readonly wasmbroker_acl_rule_count: (a: number) => any;
359
- readonly wasmbroker_add_acl_rule: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => any;
360
- readonly wasmbroker_add_bridge: (a: number, b: number, c: any) => any;
361
- readonly wasmbroker_add_role: (a: number, b: number, c: number) => any;
362
- readonly wasmbroker_add_role_rule: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => any;
363
- readonly wasmbroker_add_user: (a: number, b: number, c: number, d: number, e: number) => any;
364
- readonly wasmbroker_add_user_with_hash: (a: number, b: number, c: number, d: number, e: number) => any;
365
- readonly wasmbroker_assign_role: (a: number, b: number, c: number, d: number, e: number) => any;
366
- readonly wasmbroker_clear_acl_rules: (a: number) => any;
367
- readonly wasmbroker_clear_roles: (a: number) => any;
368
- readonly wasmbroker_create_client_port: (a: number) => [number, number, number];
367
+ readonly wasmbridgeconfig_validate: (a: number, b: number) => void;
368
+ readonly wasmbroker_acl_rule_count: (a: number) => number;
369
+ readonly wasmbroker_add_acl_rule: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
370
+ readonly wasmbroker_add_bridge: (a: number, b: number, c: number) => number;
371
+ readonly wasmbroker_add_role: (a: number, b: number, c: number) => number;
372
+ readonly wasmbroker_add_role_rule: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
373
+ readonly wasmbroker_add_user: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
374
+ readonly wasmbroker_add_user_with_hash: (a: number, b: number, c: number, d: number, e: number) => void;
375
+ readonly wasmbroker_assign_role: (a: number, b: number, c: number, d: number, e: number) => number;
376
+ readonly wasmbroker_clear_acl_rules: (a: number) => number;
377
+ readonly wasmbroker_clear_roles: (a: number) => number;
378
+ readonly wasmbroker_create_client_port: (a: number, b: number) => void;
369
379
  readonly wasmbroker_get_config_hash: (a: number) => number;
370
380
  readonly wasmbroker_get_max_clients: (a: number) => number;
371
381
  readonly wasmbroker_get_max_packet_size: (a: number) => number;
372
382
  readonly wasmbroker_get_session_expiry_interval_secs: (a: number) => number;
373
- readonly wasmbroker_get_user_roles: (a: number, b: number, c: number) => any;
374
- readonly wasmbroker_has_user: (a: number, b: number, c: number) => any;
375
- readonly wasmbroker_hash_password: (a: number, b: number) => [number, number, number, number];
376
- readonly wasmbroker_list_bridges: (a: number) => [number, number];
377
- readonly wasmbroker_list_roles: (a: number) => any;
378
- readonly wasmbroker_new: () => [number, number, number];
379
- readonly wasmbroker_on_config_change: (a: number, b: any) => void;
380
- readonly wasmbroker_remove_bridge: (a: number, b: number, c: number) => any;
381
- readonly wasmbroker_remove_role: (a: number, b: number, c: number) => any;
382
- readonly wasmbroker_remove_user: (a: number, b: number, c: number) => any;
383
- readonly wasmbroker_role_count: (a: number) => any;
384
- readonly wasmbroker_set_acl_default_allow: (a: number) => any;
385
- readonly wasmbroker_set_acl_default_deny: (a: number) => any;
383
+ readonly wasmbroker_get_user_roles: (a: number, b: number, c: number) => number;
384
+ readonly wasmbroker_has_user: (a: number, b: number, c: number) => number;
385
+ readonly wasmbroker_hash_password: (a: number, b: number, c: number) => void;
386
+ readonly wasmbroker_list_bridges: (a: number, b: number) => void;
387
+ readonly wasmbroker_list_roles: (a: number) => number;
388
+ readonly wasmbroker_new: (a: number) => void;
389
+ readonly wasmbroker_on_client_connect: (a: number, b: number) => void;
390
+ readonly wasmbroker_on_client_disconnect: (a: number, b: number) => void;
391
+ readonly wasmbroker_on_client_publish: (a: number, b: number) => void;
392
+ readonly wasmbroker_on_client_subscribe: (a: number, b: number) => void;
393
+ readonly wasmbroker_on_client_unsubscribe: (a: number, b: number) => void;
394
+ readonly wasmbroker_on_config_change: (a: number, b: number) => void;
395
+ readonly wasmbroker_on_message_delivered: (a: number, b: number) => void;
396
+ readonly wasmbroker_remove_bridge: (a: number, b: number, c: number) => number;
397
+ readonly wasmbroker_remove_role: (a: number, b: number, c: number) => number;
398
+ readonly wasmbroker_remove_user: (a: number, b: number, c: number) => number;
399
+ readonly wasmbroker_role_count: (a: number) => number;
400
+ readonly wasmbroker_set_acl_default_allow: (a: number) => number;
401
+ readonly wasmbroker_set_acl_default_deny: (a: number) => number;
386
402
  readonly wasmbroker_start_sys_topics: (a: number) => void;
387
403
  readonly wasmbroker_start_sys_topics_with_interval_secs: (a: number, b: number) => void;
388
- readonly wasmbroker_stop_all_bridges: (a: number) => any;
404
+ readonly wasmbroker_stop_all_bridges: (a: number) => number;
389
405
  readonly wasmbroker_stop_sys_topics: (a: number) => void;
390
- readonly wasmbroker_unassign_role: (a: number, b: number, c: number, d: number, e: number) => any;
391
- readonly wasmbroker_update_config: (a: number, b: number) => [number, number];
392
- readonly wasmbroker_user_count: (a: number) => any;
393
- readonly wasmbroker_with_config: (a: number) => [number, number, number];
406
+ readonly wasmbroker_unassign_role: (a: number, b: number, c: number, d: number, e: number) => number;
407
+ readonly wasmbroker_update_config: (a: number, b: number, c: number) => void;
408
+ readonly wasmbroker_user_count: (a: number) => number;
409
+ readonly wasmbroker_with_config: (a: number, b: number) => void;
394
410
  readonly wasmbrokerconfig_new: () => number;
395
411
  readonly wasmbrokerconfig_set_allow_anonymous: (a: number, b: number) => void;
396
412
  readonly wasmbrokerconfig_set_max_clients: (a: number, b: number) => void;
@@ -405,12 +421,12 @@ export interface InitOutput {
405
421
  readonly wasmbrokerconfig_set_wildcard_subscription_available: (a: number, b: number) => void;
406
422
  readonly wasmconnectoptions_addBackupUrl: (a: number, b: number, c: number) => void;
407
423
  readonly wasmconnectoptions_addUserProperty: (a: number, b: number, c: number, d: number, e: number) => void;
408
- readonly wasmconnectoptions_authenticationMethod: (a: number) => [number, number];
424
+ readonly wasmconnectoptions_authenticationMethod: (a: number, b: number) => void;
409
425
  readonly wasmconnectoptions_cleanStart: (a: number) => number;
410
426
  readonly wasmconnectoptions_clearBackupUrls: (a: number) => void;
411
427
  readonly wasmconnectoptions_clearUserProperties: (a: number) => void;
412
428
  readonly wasmconnectoptions_clear_will: (a: number) => void;
413
- readonly wasmconnectoptions_getBackupUrls: (a: number) => [number, number];
429
+ readonly wasmconnectoptions_getBackupUrls: (a: number, b: number) => void;
414
430
  readonly wasmconnectoptions_keepAlive: (a: number) => number;
415
431
  readonly wasmconnectoptions_maximumPacketSize: (a: number) => number;
416
432
  readonly wasmconnectoptions_new: () => number;
@@ -434,48 +450,48 @@ export interface InitOutput {
434
450
  readonly wasmconnectoptions_set_username: (a: number, b: number, c: number) => void;
435
451
  readonly wasmconnectoptions_set_will: (a: number, b: number) => void;
436
452
  readonly wasmconnectoptions_topicAliasMaximum: (a: number) => number;
437
- readonly wasmconnectoptions_username: (a: number) => [number, number];
438
- readonly wasmmessageproperties_contentType: (a: number) => [number, number];
439
- readonly wasmmessageproperties_correlationData: (a: number) => [number, number];
440
- readonly wasmmessageproperties_getUserProperties: (a: number) => any;
453
+ readonly wasmconnectoptions_username: (a: number, b: number) => void;
454
+ readonly wasmmessageproperties_contentType: (a: number, b: number) => void;
455
+ readonly wasmmessageproperties_correlationData: (a: number, b: number) => void;
456
+ readonly wasmmessageproperties_getUserProperties: (a: number) => number;
441
457
  readonly wasmmessageproperties_messageExpiryInterval: (a: number) => number;
442
458
  readonly wasmmessageproperties_payloadFormatIndicator: (a: number) => number;
443
- readonly wasmmessageproperties_responseTopic: (a: number) => [number, number];
444
- readonly wasmmessageproperties_subscriptionIdentifiers: (a: number) => [number, number];
445
- readonly wasmmqttclient_connect: (a: number, b: number, c: number) => any;
446
- readonly wasmmqttclient_connect_broadcast_channel: (a: number, b: number, c: number) => any;
447
- readonly wasmmqttclient_connect_message_port: (a: number, b: any) => any;
448
- readonly wasmmqttclient_connect_message_port_with_options: (a: number, b: any, c: number) => any;
449
- readonly wasmmqttclient_connect_with_options: (a: number, b: number, c: number, d: number) => any;
450
- readonly wasmmqttclient_disconnect: (a: number) => any;
459
+ readonly wasmmessageproperties_responseTopic: (a: number, b: number) => void;
460
+ readonly wasmmessageproperties_subscriptionIdentifiers: (a: number, b: number) => void;
461
+ readonly wasmmqttclient_connect: (a: number, b: number, c: number) => number;
462
+ readonly wasmmqttclient_connect_broadcast_channel: (a: number, b: number, c: number) => number;
463
+ readonly wasmmqttclient_connect_message_port: (a: number, b: number) => number;
464
+ readonly wasmmqttclient_connect_message_port_with_options: (a: number, b: number, c: number) => number;
465
+ readonly wasmmqttclient_connect_with_options: (a: number, b: number, c: number, d: number) => number;
466
+ readonly wasmmqttclient_disconnect: (a: number) => number;
451
467
  readonly wasmmqttclient_enable_auto_reconnect: (a: number, b: number) => void;
452
468
  readonly wasmmqttclient_is_connected: (a: number) => number;
453
469
  readonly wasmmqttclient_is_reconnecting: (a: number) => number;
454
470
  readonly wasmmqttclient_new: (a: number, b: number) => number;
455
- readonly wasmmqttclient_on_auth_challenge: (a: number, b: any) => void;
456
- readonly wasmmqttclient_on_connect: (a: number, b: any) => void;
457
- readonly wasmmqttclient_on_disconnect: (a: number, b: any) => void;
458
- readonly wasmmqttclient_on_error: (a: number, b: any) => void;
459
- readonly wasmmqttclient_on_reconnect_failed: (a: number, b: any) => void;
460
- readonly wasmmqttclient_on_reconnecting: (a: number, b: any) => void;
461
- readonly wasmmqttclient_publish: (a: number, b: number, c: number, d: number, e: number) => any;
462
- readonly wasmmqttclient_publish_qos1: (a: number, b: number, c: number, d: number, e: number, f: any) => any;
463
- readonly wasmmqttclient_publish_qos2: (a: number, b: number, c: number, d: number, e: number, f: any) => any;
464
- readonly wasmmqttclient_publish_with_options: (a: number, b: number, c: number, d: number, e: number, f: number) => any;
465
- readonly wasmmqttclient_respond_auth: (a: number, b: number, c: number) => [number, number];
471
+ readonly wasmmqttclient_on_auth_challenge: (a: number, b: number) => void;
472
+ readonly wasmmqttclient_on_connect: (a: number, b: number) => void;
473
+ readonly wasmmqttclient_on_disconnect: (a: number, b: number) => void;
474
+ readonly wasmmqttclient_on_error: (a: number, b: number) => void;
475
+ readonly wasmmqttclient_on_reconnect_failed: (a: number, b: number) => void;
476
+ readonly wasmmqttclient_on_reconnecting: (a: number, b: number) => void;
477
+ readonly wasmmqttclient_publish: (a: number, b: number, c: number, d: number, e: number) => number;
478
+ readonly wasmmqttclient_publish_qos1: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
479
+ readonly wasmmqttclient_publish_qos2: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
480
+ readonly wasmmqttclient_publish_with_options: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
481
+ readonly wasmmqttclient_respond_auth: (a: number, b: number, c: number, d: number) => void;
466
482
  readonly wasmmqttclient_set_reconnect_options: (a: number, b: number) => void;
467
- readonly wasmmqttclient_subscribe: (a: number, b: number, c: number) => any;
468
- readonly wasmmqttclient_subscribe_with_callback: (a: number, b: number, c: number, d: any) => any;
469
- readonly wasmmqttclient_subscribe_with_options: (a: number, b: number, c: number, d: any, e: number) => any;
470
- readonly wasmmqttclient_unsubscribe: (a: number, b: number, c: number) => any;
483
+ readonly wasmmqttclient_subscribe: (a: number, b: number, c: number) => number;
484
+ readonly wasmmqttclient_subscribe_with_callback: (a: number, b: number, c: number, d: number) => number;
485
+ readonly wasmmqttclient_subscribe_with_options: (a: number, b: number, c: number, d: number, e: number) => number;
486
+ readonly wasmmqttclient_unsubscribe: (a: number, b: number, c: number) => number;
471
487
  readonly wasmpublishoptions_addUserProperty: (a: number, b: number, c: number, d: number, e: number) => void;
472
488
  readonly wasmpublishoptions_clearUserProperties: (a: number) => void;
473
- readonly wasmpublishoptions_contentType: (a: number) => [number, number];
489
+ readonly wasmpublishoptions_contentType: (a: number, b: number) => void;
474
490
  readonly wasmpublishoptions_messageExpiryInterval: (a: number) => number;
475
491
  readonly wasmpublishoptions_new: () => number;
476
492
  readonly wasmpublishoptions_payloadFormatIndicator: (a: number) => number;
477
493
  readonly wasmpublishoptions_qos: (a: number) => number;
478
- readonly wasmpublishoptions_responseTopic: (a: number) => [number, number];
494
+ readonly wasmpublishoptions_responseTopic: (a: number, b: number) => void;
479
495
  readonly wasmpublishoptions_retain: (a: number) => number;
480
496
  readonly wasmpublishoptions_set_contentType: (a: number, b: number, c: number) => void;
481
497
  readonly wasmpublishoptions_set_correlationData: (a: number, b: number, c: number) => void;
@@ -513,11 +529,11 @@ export interface InitOutput {
513
529
  readonly wasmtopicmapping_set_local_prefix: (a: number, b: number, c: number) => void;
514
530
  readonly wasmtopicmapping_set_qos: (a: number, b: number) => void;
515
531
  readonly wasmtopicmapping_set_remote_prefix: (a: number, b: number, c: number) => void;
516
- readonly wasmwillmessage_contentType: (a: number) => [number, number];
532
+ readonly wasmwillmessage_contentType: (a: number, b: number) => void;
517
533
  readonly wasmwillmessage_messageExpiryInterval: (a: number) => number;
518
534
  readonly wasmwillmessage_new: (a: number, b: number, c: number, d: number) => number;
519
535
  readonly wasmwillmessage_qos: (a: number) => number;
520
- readonly wasmwillmessage_responseTopic: (a: number) => [number, number];
536
+ readonly wasmwillmessage_responseTopic: (a: number, b: number) => void;
521
537
  readonly wasmwillmessage_retain: (a: number) => number;
522
538
  readonly wasmwillmessage_set_contentType: (a: number, b: number, c: number) => void;
523
539
  readonly wasmwillmessage_set_messageExpiryInterval: (a: number, b: number) => void;
@@ -526,24 +542,20 @@ export interface InitOutput {
526
542
  readonly wasmwillmessage_set_retain: (a: number, b: number) => void;
527
543
  readonly wasmwillmessage_set_topic: (a: number, b: number, c: number) => void;
528
544
  readonly wasmwillmessage_set_willDelayInterval: (a: number, b: number) => void;
529
- readonly wasmwillmessage_topic: (a: number) => [number, number];
545
+ readonly wasmwillmessage_topic: (a: number, b: number) => void;
530
546
  readonly wasmwillmessage_willDelayInterval: (a: number) => number;
531
- readonly wasm_bindgen__convert__closures_____invoke__h31c8cca720a6aff9: (a: number, b: number, c: any) => void;
532
- readonly wasm_bindgen__closure__destroy__h41b20611c4407cba: (a: number, b: number) => void;
533
- readonly wasm_bindgen__convert__closures_____invoke__h8d4b77242b184668: (a: number, b: number, c: any) => void;
534
- readonly wasm_bindgen__closure__destroy__h1683131c23930486: (a: number, b: number) => void;
535
- readonly wasm_bindgen__convert__closures_____invoke__h3ae4cd55a0542d01: (a: number, b: number) => void;
536
- readonly wasm_bindgen__closure__destroy__h318cda49ff0041e4: (a: number, b: number) => void;
537
- readonly wasm_bindgen__convert__closures_____invoke__h7ae096ff8d5e6a9b: (a: number, b: number, c: any, d: any) => void;
538
- readonly __wbindgen_malloc: (a: number, b: number) => number;
539
- readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
540
- readonly __wbindgen_exn_store: (a: number) => void;
541
- readonly __externref_table_alloc: () => number;
542
- readonly __wbindgen_externrefs: WebAssembly.Table;
543
- readonly __wbindgen_free: (a: number, b: number, c: number) => void;
544
- readonly __externref_drop_slice: (a: number, b: number) => void;
545
- readonly __externref_table_dealloc: (a: number) => void;
546
- readonly __wbindgen_start: () => void;
547
+ readonly __wasm_bindgen_func_elem_684: (a: number, b: number, c: number) => void;
548
+ readonly __wasm_bindgen_func_elem_123: (a: number, b: number) => void;
549
+ readonly __wasm_bindgen_func_elem_2072: (a: number, b: number) => void;
550
+ readonly __wasm_bindgen_func_elem_2055: (a: number, b: number) => void;
551
+ readonly __wasm_bindgen_func_elem_2122: (a: number, b: number, c: number) => void;
552
+ readonly __wasm_bindgen_func_elem_2106: (a: number, b: number) => void;
553
+ readonly __wasm_bindgen_func_elem_3332: (a: number, b: number, c: number, d: number) => void;
554
+ readonly __wbindgen_export: (a: number, b: number) => number;
555
+ readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
556
+ readonly __wbindgen_export3: (a: number) => void;
557
+ readonly __wbindgen_export4: (a: number, b: number, c: number) => void;
558
+ readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
547
559
  }
548
560
 
549
561
  export type SyncInitInput = BufferSource | WebAssembly.Module;