@moyodb/sdk 0.0.0-alpha.1

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 (47) hide show
  1. package/README.md +51 -0
  2. package/dist/assets/worker-CaOzbBz1.js +2351 -0
  3. package/dist/assets/worker-CaOzbBz1.js.map +1 -0
  4. package/dist/change-events.d.ts +29 -0
  5. package/dist/change-events.d.ts.map +1 -0
  6. package/dist/codec.d.ts +17 -0
  7. package/dist/codec.d.ts.map +1 -0
  8. package/dist/compression.d.ts +11 -0
  9. package/dist/compression.d.ts.map +1 -0
  10. package/dist/demo.d.ts +21 -0
  11. package/dist/demo.d.ts.map +1 -0
  12. package/dist/engine/README.md +56 -0
  13. package/dist/engine/moyodb_engine.d.ts +127 -0
  14. package/dist/engine/moyodb_engine.js +1193 -0
  15. package/dist/engine/moyodb_engine_bg.wasm +0 -0
  16. package/dist/engine/moyodb_engine_bg.wasm.d.ts +52 -0
  17. package/dist/engine/package.json +21 -0
  18. package/dist/engine/snippets/moyodb-engine-cff0a0e2441a7a8f/js/opfs_shim.js +402 -0
  19. package/dist/errors.d.ts +77 -0
  20. package/dist/errors.d.ts.map +1 -0
  21. package/dist/index.d.ts +9 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/indexing.d.ts +33 -0
  24. package/dist/indexing.d.ts.map +1 -0
  25. package/dist/internal.d.ts +4 -0
  26. package/dist/internal.d.ts.map +1 -0
  27. package/dist/moyodb-sdk.js +1988 -0
  28. package/dist/moyodb-sdk.js.map +1 -0
  29. package/dist/moyodb-sdk.umd.cjs +2 -0
  30. package/dist/moyodb-sdk.umd.cjs.map +1 -0
  31. package/dist/registry.d.ts +33 -0
  32. package/dist/registry.d.ts.map +1 -0
  33. package/dist/subscriptions.d.ts +10 -0
  34. package/dist/subscriptions.d.ts.map +1 -0
  35. package/dist/types.d.ts +158 -0
  36. package/dist/types.d.ts.map +1 -0
  37. package/dist/worker-api.d.ts +51 -0
  38. package/dist/worker-api.d.ts.map +1 -0
  39. package/dist/worker-client.d.ts +67 -0
  40. package/dist/worker-client.d.ts.map +1 -0
  41. package/dist/worker-protocol.d.ts +86 -0
  42. package/dist/worker-protocol.d.ts.map +1 -0
  43. package/dist/worker-server.d.ts +6 -0
  44. package/dist/worker-server.d.ts.map +1 -0
  45. package/dist/worker.d.ts +2 -0
  46. package/dist/worker.d.ts.map +1 -0
  47. package/package.json +71 -0
@@ -0,0 +1,29 @@
1
+ import type { DbChange } from './types';
2
+ export interface StoreChangeSet {
3
+ store: string;
4
+ changes: DbChange[];
5
+ }
6
+ export interface CommitAppliedEvent {
7
+ type: 'commit_applied';
8
+ dbName: string;
9
+ txid: number;
10
+ stores: StoreChangeSet[];
11
+ }
12
+ export interface OwnerChangedEvent {
13
+ type: 'owner_changed';
14
+ dbName: string;
15
+ txid: null;
16
+ }
17
+ export interface DbClosedEvent {
18
+ type: 'db_closed';
19
+ dbName: string;
20
+ txid: null;
21
+ }
22
+ export interface DbDeletedEvent {
23
+ type: 'db_deleted';
24
+ dbName: string;
25
+ txid: null;
26
+ }
27
+ export type WorkerBroadcastEvent = CommitAppliedEvent | OwnerChangedEvent | DbClosedEvent | DbDeletedEvent;
28
+ export declare function isCommitAppliedEvent(value: unknown): value is CommitAppliedEvent;
29
+ //# sourceMappingURL=change-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-events.d.ts","sourceRoot":"","sources":["../src/change-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,EAAE,CAAC;CACvB;AACD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,EAAE,CAAC;CAC5B;AACD,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;CACd;AACD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;CACd;AACD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;CACd;AACD,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC;AAY3G,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAShF"}
@@ -0,0 +1,17 @@
1
+ import type { Range } from './types';
2
+ export type CompoundKeyPart = string | number | boolean | null | Uint8Array;
3
+ export type IndexKeyPrimitive = CompoundKeyPart;
4
+ export declare function utf8Encode(value: string): Uint8Array;
5
+ export declare function utf8Decode(bytes: Uint8Array): string;
6
+ export declare function jsonEncode(value: unknown): Uint8Array;
7
+ export declare function jsonDecode<T>(bytes: Uint8Array): T;
8
+ export declare function u64Key(value: bigint | number): Uint8Array;
9
+ export declare function indexKey(value: CompoundKeyPart | ReadonlyArray<CompoundKeyPart>): Uint8Array;
10
+ export declare function compoundKey(...parts: CompoundKeyPart[]): Uint8Array;
11
+ export declare function encodeIndexScalar(value: IndexKeyPrimitive): Uint8Array;
12
+ export declare function encodeCompoundKeyParts(parts: ReadonlyArray<Uint8Array>): Uint8Array;
13
+ export declare function splitCompoundKey(key: Uint8Array): Uint8Array[];
14
+ export declare function prefixSuccessor(prefix: Uint8Array): Uint8Array | null;
15
+ export declare function prefixRange(prefix: Uint8Array): Range;
16
+ export declare function compoundKeyRange(...parts: CompoundKeyPart[]): Range;
17
+ //# sourceMappingURL=codec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAarC,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAChD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAEpD;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEpD;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAErD;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,CAElD;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CASzD;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,UAAU,CAK5F;AACD,wBAAgB,WAAW,CAAC,GAAG,KAAK,EAAE,eAAe,EAAE,GAAG,UAAU,CAEnE;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAEtE;AACD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,UAAU,CAEnF;AACD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,EAAE,CA2B9D;AACD,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CASrE;AACD,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,CAGrD;AACD,wBAAgB,gBAAgB,CAAC,GAAG,KAAK,EAAE,eAAe,EAAE,GAAG,KAAK,CAEnE"}
@@ -0,0 +1,11 @@
1
+ import type { CompressionKind } from './types';
2
+ export type CompressionOption = CompressionKind | false;
3
+ export declare const STORE_VALUE_COMPRESSION_THRESHOLD = 1024;
4
+ export declare function compressionFromStoreFlags(flags: number): CompressionOption;
5
+ export declare function encodeStoreValueRecord(value: Uint8Array, compression: CompressionOption): Promise<Uint8Array>;
6
+ export declare function decodeStoreValueRecord(value: Uint8Array, options: {
7
+ strict: boolean;
8
+ }): Promise<Uint8Array>;
9
+ export declare function wrapSnapshotWithCompression(snapshot: Uint8Array, compression: CompressionOption): Promise<Uint8Array>;
10
+ export declare function unwrapSnapshotCompression(snapshot: Uint8Array): Promise<Uint8Array>;
11
+ //# sourceMappingURL=compression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../src/compression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,KAAK,CAAC;AAUxD,eAAO,MAAM,iCAAiC,OAAO,CAAC;AA6KtD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAY1E;AACD,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAYnH;AACD,wBAAsB,sBAAsB,CACxC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE;IACL,MAAM,EAAE,OAAO,CAAC;CACnB,GACF,OAAO,CAAC,UAAU,CAAC,CAqDrB;AACD,wBAAsB,2BAA2B,CAC7C,QAAQ,EAAE,UAAU,EACpB,WAAW,EAAE,iBAAiB,GAC/B,OAAO,CAAC,UAAU,CAAC,CAMrB;AACD,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAmCzF"}
package/dist/demo.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ import { compoundKey, compoundKeyRange, deleteDB, indexKey, jsonDecode, jsonEncode, openDB, prefixRange, prefixSuccessor, splitCompoundKey, unsafeDebugCrashWorker, utf8Decode, utf8Encode } from './index';
2
+ declare global {
3
+ interface Window {
4
+ moyodb: {
5
+ openDB: typeof openDB;
6
+ deleteDB: typeof deleteDB;
7
+ utf8Encode: typeof utf8Encode;
8
+ utf8Decode: typeof utf8Decode;
9
+ jsonEncode: typeof jsonEncode;
10
+ jsonDecode: typeof jsonDecode;
11
+ indexKey: typeof indexKey;
12
+ compoundKey: typeof compoundKey;
13
+ splitCompoundKey: typeof splitCompoundKey;
14
+ prefixRange: typeof prefixRange;
15
+ prefixSuccessor: typeof prefixSuccessor;
16
+ compoundKeyRange: typeof compoundKeyRange;
17
+ unsafeDebugCrashWorker: typeof unsafeDebugCrashWorker;
18
+ };
19
+ }
20
+ }
21
+ //# sourceMappingURL=demo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,UAAU,EAEb,MAAM,SAAS,CAAC;AAEjB,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,MAAM,EAAE;YACJ,MAAM,EAAE,OAAO,MAAM,CAAC;YACtB,QAAQ,EAAE,OAAO,QAAQ,CAAC;YAC1B,UAAU,EAAE,OAAO,UAAU,CAAC;YAC9B,UAAU,EAAE,OAAO,UAAU,CAAC;YAC9B,UAAU,EAAE,OAAO,UAAU,CAAC;YAC9B,UAAU,EAAE,OAAO,UAAU,CAAC;YAC9B,QAAQ,EAAE,OAAO,QAAQ,CAAC;YAC1B,WAAW,EAAE,OAAO,WAAW,CAAC;YAChC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;YAC1C,WAAW,EAAE,OAAO,WAAW,CAAC;YAChC,eAAe,EAAE,OAAO,eAAe,CAAC;YACxC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;YAC1C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;SACzD,CAAC;KACL;CACJ"}
@@ -0,0 +1,56 @@
1
+ <p align="center">
2
+ <img
3
+ width="100%"
4
+ src="https://capsule-render.vercel.app/api?type=waving&amp;height=220&amp;color=0:0B1220,50:1E1B4B,100:4F46E5&amp;text=MoyoDB&amp;fontColor=E2E8F0&amp;fontSize=54&amp;fontAlignY=50"
5
+ alt="Header banner"
6
+ />
7
+ </p>
8
+
9
+ <p align="center">
10
+ <img alt="Rust" src="https://img.shields.io/badge/Rust-1E293B?style=for-the-badge" />
11
+ <img alt="WebAssembly" src="https://img.shields.io/badge/WebAssembly-1E293B?style=for-the-badge" />
12
+ <img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-1E293B?style=for-the-badge" />
13
+ <img alt="JavaScript" src="https://img.shields.io/badge/JavaScript-1E293B?style=for-the-badge" />
14
+ <img alt="Lean 4" src="https://img.shields.io/badge/Lean%204-1E293B?style=for-the-badge" />
15
+ <img alt="npm" src="https://img.shields.io/badge/npm-1E293B?style=for-the-badge" />
16
+ </p>
17
+
18
+ Experimental Rust/WASM transactional key-value storage engine for browser apps.
19
+
20
+ It provides ordered byte keys, range scans, snapshots, TTL, recovery checks, and a TypeScript SDK that talks to a dedicated Worker-backed runtime over OPFS.
21
+
22
+ > Status: **alpha / pre-public release**. MoyoDB is useful for experiments and early integrations. Do not use it for production data without your own durability and compatibility validation.
23
+
24
+ ## Quick start
25
+
26
+ ```bash
27
+ rustup target add wasm32-unknown-unknown
28
+ cargo install --locked wasm-pack --version 0.15.0
29
+ npm ci
30
+ npm run build
31
+ npm run test:sdk
32
+ ```
33
+
34
+ ```ts
35
+ import { openDB, utf8Decode, utf8Encode } from '@moyodb/sdk';
36
+
37
+ const db = await openDB('app', { requestPersistence: false });
38
+ await db.createStore('kv');
39
+ await db.put('kv', utf8Encode('hello'), utf8Encode('world'));
40
+
41
+ const value = await db.get('kv', utf8Encode('hello'));
42
+ console.log(value ? utf8Decode(value) : null);
43
+
44
+ await db.close();
45
+ ```
46
+
47
+ The npm package name is `@moyodb/sdk`. The human-facing project name is **MoyoDB**.
48
+
49
+ ## Limitations
50
+
51
+ - Alpha software; storage format and SDK API may still change.
52
+ - Browser-only runtime; there is no Node.js persistence API.
53
+ - Requires OPFS and Worker-side sync access handles.
54
+ - One active owner per database and one write transaction at a time.
55
+ - Raw byte keys and values; no SQL/query planner.
56
+ - No cloud sync, multi-tab concurrent writers, SharedWorker runtime, or IndexedDB fallback.
@@ -0,0 +1,127 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ export class WasmEngine {
5
+ free(): void;
6
+ [Symbol.dispose](): void;
7
+ apply_batch(tx_id: bigint, store: string, ops: any): any;
8
+ apply_batch_packed(tx_id: bigint, store: string, ops: Uint8Array): any;
9
+ begin_tx(mode: string): bigint;
10
+ changes_since(tx_id: bigint, options: any): any;
11
+ clear_store(tx_id: bigint, name: string): void;
12
+ close(): void;
13
+ commit_tx(tx_id: bigint): bigint;
14
+ create_store(tx_id: bigint, name: string, options: any): void;
15
+ delete(tx_id: bigint, store: string, key: Uint8Array): boolean;
16
+ delete_many(tx_id: bigint, store: string, keys: any): any;
17
+ delete_many_packed(tx_id: bigint, store: string, keys: Uint8Array): any;
18
+ drop_store(tx_id: bigint, name: string): void;
19
+ export_snapshot(): Uint8Array;
20
+ get(tx_id: bigint, store: string, key: Uint8Array): any;
21
+ get_many(tx_id: bigint, store: string, keys: any): any;
22
+ get_many_packed(tx_id: bigint, store: string, keys: Uint8Array): any;
23
+ get_schema_version(): bigint;
24
+ has(tx_id: bigint, store: string, key: Uint8Array): boolean;
25
+ import_snapshot(data: Uint8Array): bigint;
26
+ list_store_configs(): any;
27
+ list_stores(): any;
28
+ constructor();
29
+ open(name: string, options: any): Promise<void>;
30
+ openGeneration(name: string, generation_name: string, options: any): Promise<void>;
31
+ put(tx_id: bigint, store: string, key: Uint8Array, value: Uint8Array, options: any): void;
32
+ put_many(tx_id: bigint, store: string, entries: any, options: any): any;
33
+ put_many_packed(tx_id: bigint, store: string, entries: Uint8Array, options: any): any;
34
+ reset(): bigint;
35
+ rollback_tx(tx_id: bigint): void;
36
+ scan(tx_id: bigint, store: string, range: any): any;
37
+ set_failpoint(failpoint: any): void;
38
+ set_schema_version(tx_id: bigint, version: bigint): void;
39
+ stats(): any;
40
+ }
41
+
42
+ export function cleanupInactiveEntries(name: string): Promise<void>;
43
+
44
+ export function dbDirectorySize(name: string): Promise<number>;
45
+
46
+ export function deleteDB(name: string): Promise<void>;
47
+
48
+ export function prepareRebuildTarget(name: string): Promise<any>;
49
+
50
+ export function swapActiveGeneration(name: string, generation_name: string): Promise<void>;
51
+
52
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
53
+
54
+ export interface InitOutput {
55
+ readonly memory: WebAssembly.Memory;
56
+ readonly __wbg_wasmengine_free: (a: number, b: number) => void;
57
+ readonly cleanupInactiveEntries: (a: number, b: number) => any;
58
+ readonly dbDirectorySize: (a: number, b: number) => any;
59
+ readonly deleteDB: (a: number, b: number) => any;
60
+ readonly prepareRebuildTarget: (a: number, b: number) => any;
61
+ readonly swapActiveGeneration: (a: number, b: number, c: number, d: number) => any;
62
+ readonly wasmengine_apply_batch: (a: number, b: bigint, c: number, d: number, e: any) => [number, number, number];
63
+ readonly wasmengine_apply_batch_packed: (a: number, b: bigint, c: number, d: number, e: any) => [number, number, number];
64
+ readonly wasmengine_begin_tx: (a: number, b: number, c: number) => [bigint, number, number];
65
+ readonly wasmengine_changes_since: (a: number, b: bigint, c: any) => [number, number, number];
66
+ readonly wasmengine_clear_store: (a: number, b: bigint, c: number, d: number) => [number, number];
67
+ readonly wasmengine_close: (a: number) => [number, number];
68
+ readonly wasmengine_commit_tx: (a: number, b: bigint) => [bigint, number, number];
69
+ readonly wasmengine_create_store: (a: number, b: bigint, c: number, d: number, e: any) => [number, number];
70
+ readonly wasmengine_delete: (a: number, b: bigint, c: number, d: number, e: number, f: number) => [number, number, number];
71
+ readonly wasmengine_delete_many: (a: number, b: bigint, c: number, d: number, e: any) => [number, number, number];
72
+ readonly wasmengine_delete_many_packed: (a: number, b: bigint, c: number, d: number, e: any) => [number, number, number];
73
+ readonly wasmengine_drop_store: (a: number, b: bigint, c: number, d: number) => [number, number];
74
+ readonly wasmengine_export_snapshot: (a: number) => [number, number, number];
75
+ readonly wasmengine_get: (a: number, b: bigint, c: number, d: number, e: number, f: number) => [number, number, number];
76
+ readonly wasmengine_get_many: (a: number, b: bigint, c: number, d: number, e: any) => [number, number, number];
77
+ readonly wasmengine_get_many_packed: (a: number, b: bigint, c: number, d: number, e: any) => [number, number, number];
78
+ readonly wasmengine_get_schema_version: (a: number) => [bigint, number, number];
79
+ readonly wasmengine_has: (a: number, b: bigint, c: number, d: number, e: number, f: number) => [number, number, number];
80
+ readonly wasmengine_import_snapshot: (a: number, b: number, c: number) => [bigint, number, number];
81
+ readonly wasmengine_list_store_configs: (a: number) => [number, number, number];
82
+ readonly wasmengine_list_stores: (a: number) => [number, number, number];
83
+ readonly wasmengine_new: () => number;
84
+ readonly wasmengine_open: (a: number, b: number, c: number, d: any) => any;
85
+ readonly wasmengine_openGeneration: (a: number, b: number, c: number, d: number, e: number, f: any) => any;
86
+ readonly wasmengine_put: (a: number, b: bigint, c: number, d: number, e: number, f: number, g: number, h: number, i: any) => [number, number];
87
+ readonly wasmengine_put_many: (a: number, b: bigint, c: number, d: number, e: any, f: any) => [number, number, number];
88
+ readonly wasmengine_put_many_packed: (a: number, b: bigint, c: number, d: number, e: any, f: any) => [number, number, number];
89
+ readonly wasmengine_reset: (a: number) => [bigint, number, number];
90
+ readonly wasmengine_rollback_tx: (a: number, b: bigint) => [number, number];
91
+ readonly wasmengine_scan: (a: number, b: bigint, c: number, d: number, e: any) => [number, number, number];
92
+ readonly wasmengine_set_failpoint: (a: number, b: any) => [number, number];
93
+ readonly wasmengine_set_schema_version: (a: number, b: bigint, c: bigint) => [number, number];
94
+ readonly wasmengine_stats: (a: number) => [number, number, number];
95
+ readonly wasm_bindgen__convert__closures_____invoke__h0b808fc55658bd50: (a: number, b: number, c: any) => [number, number];
96
+ readonly wasm_bindgen__convert__closures_____invoke__h694ddb4a279886ac: (a: number, b: number, c: any, d: any) => void;
97
+ readonly __wbindgen_malloc: (a: number, b: number) => number;
98
+ readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
99
+ readonly __wbindgen_exn_store: (a: number) => void;
100
+ readonly __externref_table_alloc: () => number;
101
+ readonly __wbindgen_externrefs: WebAssembly.Table;
102
+ readonly __wbindgen_destroy_closure: (a: number, b: number) => void;
103
+ readonly __externref_table_dealloc: (a: number) => void;
104
+ readonly __wbindgen_start: () => void;
105
+ }
106
+
107
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
108
+
109
+ /**
110
+ * Instantiates the given `module`, which can either be bytes or
111
+ * a precompiled `WebAssembly.Module`.
112
+ *
113
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
114
+ *
115
+ * @returns {InitOutput}
116
+ */
117
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
118
+
119
+ /**
120
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
121
+ * for everything else, calls `WebAssembly.instantiate` directly.
122
+ *
123
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
124
+ *
125
+ * @returns {Promise<InitOutput>}
126
+ */
127
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;