@rowsncolumns/rnc-engine 0.10.132

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 (37) hide show
  1. package/LICENSE.md +100 -0
  2. package/README.md +83 -0
  3. package/dist/esm/command-handlers.d.ts +169 -0
  4. package/dist/esm/command-handlers.d.ts.map +1 -0
  5. package/dist/esm/command-handlers.js +404 -0
  6. package/dist/esm/fold.d.ts +140 -0
  7. package/dist/esm/fold.d.ts.map +1 -0
  8. package/dist/esm/fold.js +539 -0
  9. package/dist/esm/index.d.ts +620 -0
  10. package/dist/esm/index.d.ts.map +1 -0
  11. package/dist/esm/index.js +425 -0
  12. package/dist/esm/io.d.ts +119 -0
  13. package/dist/esm/io.d.ts.map +1 -0
  14. package/dist/esm/io.js +318 -0
  15. package/dist/esm/keys.d.ts +20 -0
  16. package/dist/esm/keys.d.ts.map +1 -0
  17. package/dist/esm/keys.js +41 -0
  18. package/dist/esm/move-rescope.d.ts +18 -0
  19. package/dist/esm/move-rescope.d.ts.map +1 -0
  20. package/dist/esm/move-rescope.js +38 -0
  21. package/dist/esm/use-engine-core.d.ts +293 -0
  22. package/dist/esm/use-engine-core.d.ts.map +1 -0
  23. package/dist/esm/use-engine-core.js +2279 -0
  24. package/dist/esm/use-engine-pivot-editor.d.ts +78 -0
  25. package/dist/esm/use-engine-pivot-editor.d.ts.map +1 -0
  26. package/dist/esm/use-engine-pivot-editor.js +252 -0
  27. package/dist/esm/use-spreadsheet-engine.d.ts +7 -0
  28. package/dist/esm/use-spreadsheet-engine.d.ts.map +1 -0
  29. package/dist/esm/use-spreadsheet-engine.js +23 -0
  30. package/dist/esm/use-spreadsheet-ui.d.ts +39 -0
  31. package/dist/esm/use-spreadsheet-ui.d.ts.map +1 -0
  32. package/dist/esm/use-spreadsheet-ui.js +78 -0
  33. package/dist/esm/wasm/rnc_wasm.d.ts +394 -0
  34. package/dist/esm/wasm/rnc_wasm.js +1455 -0
  35. package/dist/esm/wasm/rnc_wasm_bg.wasm +0 -0
  36. package/dist/esm/wasm/rnc_wasm_bg.wasm.d.ts +81 -0
  37. package/package.json +51 -0
@@ -0,0 +1,394 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /**
5
+ * A collaborative spreadsheet engine backed by a Yjs CRDT document.
6
+ *
7
+ * Same command / read surface as `SpreadsheetEngine`, plus sync methods for exchanging Yrs
8
+ * updates between peers.
9
+ */
10
+ export class CollabSpreadsheetEngine {
11
+ free(): void;
12
+ [Symbol.dispose](): void;
13
+ addSheet(sheet_id: number, name: string): void;
14
+ applyCommand(command_json: string): string;
15
+ /**
16
+ * Apply a remote Yjs V1 update into this peer's document. After calling this, call
17
+ * `syncRemote()` to rebuild the engine and get a `CommitResult` for the UI.
18
+ */
19
+ applyUpdate(update: Uint8Array): void;
20
+ canRedo(): boolean;
21
+ canUndo(): boolean;
22
+ clearHistory(): void;
23
+ dependents(sheet_id: number, row: number, col: number): string;
24
+ documentFacets(): string;
25
+ /**
26
+ * Encode a diff: everything this peer has that the remote (identified by its state vector)
27
+ * doesn't. Send the result to the remote via `applyUpdate`.
28
+ */
29
+ encodeDiffV1(remote_sv: Uint8Array): Uint8Array;
30
+ /**
31
+ * Encode the full document state as a Yjs V1 update (for persistence or initial sync).
32
+ */
33
+ encodeStateAsUpdate(): Uint8Array;
34
+ /**
35
+ * Encode the current state vector (compact summary of what this peer has seen).
36
+ */
37
+ encodeStateVector(): Uint8Array;
38
+ /**
39
+ * Export a sheet's display values as RFC-4180 CSV.
40
+ */
41
+ exportCsv(sheet_id: number): string;
42
+ /**
43
+ * Export the whole workbook to in-memory XLSX bytes (a JS `Uint8Array`) via `rnc-export`.
44
+ */
45
+ exportXlsx(): Uint8Array;
46
+ /**
47
+ * Pre-allocate rows and columns for a sheet. YrsStore addresses cells by positional index
48
+ * within CRDT arrays, so the grid dimensions must be established before cells can be written.
49
+ * Call this once per sheet after `addSheet`.
50
+ */
51
+ initGrid(sheet_id: number, rows: number, cols: number): void;
52
+ loadDocument(document_json: string): string;
53
+ /**
54
+ * Create a new collaborative engine with a random client ID.
55
+ */
56
+ constructor();
57
+ /**
58
+ * Create a new collaborative engine with a specific client ID (important when running two
59
+ * instances on the same page — they must have distinct IDs for CRDT correctness).
60
+ */
61
+ static newWithClientId(client_id: number): CollabSpreadsheetEngine;
62
+ precedents(sheet_id: number, row: number, col: number): string;
63
+ /**
64
+ * Selection statistics over a 1-indexed inclusive range, computed in Rust; returns `RangeStats`
65
+ * JSON (`{ sum, count, average, min, max, numericalCount }`). See `SpreadsheetEngine::rangeStats`.
66
+ */
67
+ rangeStats(sheet_id: number, start_row: number, start_col: number, end_row: number, end_col: number): string;
68
+ readWindow(sheet_id: number, start_row: number, start_col: number, end_row: number, end_col: number): string;
69
+ redo(): string;
70
+ redoDepth(): number;
71
+ registerCustomFunction(name: string): void;
72
+ /**
73
+ * See [`SpreadsheetEngine::set_windowed`](super::SpreadsheetEngine). When on, commits serialized
74
+ * by this engine omit the per-cell channels the windowed host re-reads from the window. Idempotent.
75
+ */
76
+ setWindowed(on: boolean): void;
77
+ /**
78
+ * Per-sheet used extent as JSON `[[sheetId, rowCount, colCount], …]` (nav + windowing bounds).
79
+ */
80
+ sheetExtents(): string;
81
+ sheetIds(): Int32Array;
82
+ /**
83
+ * The workbook's sheets in tab order as JSON `[{sheetId, title, index, hidden?, tabColor?}]` —
84
+ * the engine's authoritative sheet identity/order. A thin UI reconciles its tab list from this.
85
+ */
86
+ sheets(): string;
87
+ /**
88
+ * Begin a streaming NDJSON hydration (huge workbooks). Feed chunks with `streamWrite`, then
89
+ * `streamEnd`. Read the viewport with `readWindow` afterward.
90
+ */
91
+ streamBegin(): void;
92
+ /**
93
+ * Finish the streaming hydration (ingest the trailing line + recompute once).
94
+ */
95
+ streamEnd(): void;
96
+ /**
97
+ * Ingest one NDJSON byte chunk of the hydration stream (partial lines are buffered).
98
+ */
99
+ streamWrite(chunk: Uint8Array): void;
100
+ /**
101
+ * Rebuild the calc engine from the (now-mutated) CRDT store and return a full `CommitResult`
102
+ * JSON so the UI can repaint after a remote update.
103
+ */
104
+ syncRemote(): string;
105
+ undo(): string;
106
+ undoDepth(): number;
107
+ }
108
+
109
+ /**
110
+ * The spreadsheet engine instance the UI holds (standalone, in-memory document).
111
+ */
112
+ export class SpreadsheetEngine {
113
+ free(): void;
114
+ [Symbol.dispose](): void;
115
+ /**
116
+ * Register a sheet (id → display name).
117
+ */
118
+ addSheet(sheet_id: number, name: string): void;
119
+ /**
120
+ * Apply a `commands.ts` JSON command; returns `CommitResult` JSON.
121
+ */
122
+ applyCommand(command_json: string): string;
123
+ canRedo(): boolean;
124
+ /**
125
+ * Whether an undo / redo is currently available (for enabling toolbar buttons).
126
+ */
127
+ canUndo(): boolean;
128
+ /**
129
+ * Drop the entire undo/redo history (the document is unchanged). Backs `onClearHistory`.
130
+ */
131
+ clearHistory(): void;
132
+ /**
133
+ * The DEPENDENTS of a cell — every formula cell that references it (directly or within a range) —
134
+ * as `[{sheetId,rowIndex,columnIndex}]`. Powers `getDependents`.
135
+ */
136
+ dependents(sheet_id: number, row: number, col: number): string;
137
+ /**
138
+ * Document-level facets the renderer draws (CF rules, tables, named/protected ranges, embeds,
139
+ * slicers, banded ranges, basic filters, DV rules) as canonical JSON — the thin hook re-reads
140
+ * this once per commit (they're small and change rarely, so they ride a getter, not a diff).
141
+ */
142
+ documentFacets(): string;
143
+ /**
144
+ * Scratch-evaluate a formula at a cell — `ExtendedValue` JSON or `"null"`. Read-only; powers
145
+ * the cell editor's live result preview (`onRequestCalculate`).
146
+ */
147
+ evalFormula(sheet_id: number, row: number, col: number, formula: string): string;
148
+ /**
149
+ * Export a sheet's display values as RFC-4180 CSV.
150
+ */
151
+ exportCsv(sheet_id: number): string;
152
+ /**
153
+ * Export the whole workbook to in-memory XLSX bytes (a JS `Uint8Array`). Reads the full document
154
+ * from the store (all sheets, values, formats, merges, frozen panes, dims, tables, named ranges)
155
+ * and runs the `rnc-export` writer; formulas are inserted, not recalculated.
156
+ */
157
+ exportXlsx(): Uint8Array;
158
+ /**
159
+ * [`SpreadsheetEngine::export_xlsx`] with client export options — `options_json` is
160
+ * `{"includeNotes":bool,"citationsAsNotes":bool}` (camelCase, fields optional).
161
+ * `includeNotes:false` omits every cell-note comment part; `citationsAsNotes:true`
162
+ * additionally writes each citation's string as a note on its anchor (top-left) cell.
163
+ */
164
+ exportXlsxWithOptions(options_json: string): Uint8Array;
165
+ /**
166
+ * Find every cell on `sheet_id` matching `find`, returned as a JSON array of `SheetCoordinate`
167
+ * (row-major). Read-only — the windowed UI calls this for off-window matches the JS search can't
168
+ * see (it only holds the loaded viewport). `ranges_json` is a JSON array of `SheetRange`
169
+ * (empty/`""` = whole sheet). Matching mirrors the UI: `match_case` / `whole_word` / `use_regex`.
170
+ * Distinct fill/font colors + CF icons in one column's body rows — JSON
171
+ * `{cellColors, fontColors, icons}`. Powers the "Filter by color" picker on windowed hosts.
172
+ */
173
+ filterColors(sheet_id: number, col: number, start_row: number, end_row: number): string;
174
+ findAll(sheet_id: number, ranges_json: string, find: string, match_case: boolean, whole_word: boolean, use_regex: boolean): string;
175
+ /**
176
+ * Import an `.xlsx` workbook with the native `rnc-import` reader (the symmetric inverse of
177
+ * [`SpreadsheetEngine::export_xlsx`]) and hydrate the engine from it. Returns the full
178
+ * `CommitResult` (every cell + style) so the UI repaints in one shot — the same path and shape as
179
+ * [`SpreadsheetEngine::load_document`]. The imported sheets are loaded into the current store
180
+ * (by sheet id); start from a fresh engine for a clean replace.
181
+ */
182
+ importXlsx(bytes: Uint8Array): string;
183
+ /**
184
+ * Like [`SpreadsheetEngine::import_xlsx`] but for password-protected workbooks (ECMA-376 agile,
185
+ * standard AES, or RC4 CryptoAPI): decrypts with `password` first. A non-encrypted file imports
186
+ * directly (password ignored), so a host can route every import here. A wrong password returns an
187
+ * error the UI can re-prompt on.
188
+ */
189
+ importXlsxWithPassword(bytes: Uint8Array, password: string): string;
190
+ /**
191
+ * Whether the bytes are an encrypted (CFB) workbook needing a password (vs a plain `.xlsx`).
192
+ */
193
+ isEncryptedXlsx(bytes: Uint8Array): boolean;
194
+ /**
195
+ * Hydrate the engine from an initial document (`{ sheets, sheetData, styles }` JSON, the
196
+ * `rnc-model` shape an API returns). Loads cells + styles, recomputes formulas, and returns the
197
+ * full `CommitResult` (every cell + style) so the UI can populate in one shot.
198
+ */
199
+ loadDocument(document_json: string): string;
200
+ constructor();
201
+ /**
202
+ * The PRECEDENTS of a cell — the cells + ranges its formula references — as
203
+ * `{cells:[{sheetId,rowIndex,columnIndex}], ranges:[{sheetId,startRowIndex,…}]}`. The engine
204
+ * parses the formula with the grammar it evaluates, so this is exact. Powers `getPrecedents`.
205
+ */
206
+ precedents(sheet_id: number, row: number, col: number): string;
207
+ /**
208
+ * Selection statistics over a 1-indexed inclusive range, computed in Rust; returns `RangeStats`
209
+ * JSON (`{ sum, count, average, min, max, numericalCount }`, numeric fields `null` when the
210
+ * range holds no numbers). Cheap even at a million cells — the status bar can show stats for
211
+ * any selection without iterating it on the JS main thread.
212
+ */
213
+ rangeStats(sheet_id: number, start_row: number, start_col: number, end_row: number, end_col: number): string;
214
+ /**
215
+ * Read a 1-indexed inclusive window; returns `WindowSnapshot` JSON.
216
+ */
217
+ readWindow(sheet_id: number, start_row: number, start_col: number, end_row: number, end_col: number): string;
218
+ /**
219
+ * Redo the last undone mutation; returns the `CommitResult` JSON.
220
+ */
221
+ redo(): string;
222
+ redoDepth(): number;
223
+ /**
224
+ * Register a host (JS) custom-function NAME so `=NAME(…)` resolves (and its arg cell refs are
225
+ * tracked as dependencies) instead of `#NAME?`. The body runs in JS: on recalc the engine streams
226
+ * a `customEvals` request (cell + resolved args) the host answers via `set-effective-value`.
227
+ */
228
+ registerCustomFunction(name: string): void;
229
+ /**
230
+ * Declare whether the host renders WINDOWED. When on, every commit serialized by this engine
231
+ * (`applyCommand` / `undo` / `redo` / `loadDocument`) omits the per-cell channels the windowed
232
+ * host re-reads via `readWindow` anyway — see [`SpreadsheetEngine::serialize_commit`]. Idempotent.
233
+ */
234
+ setWindowed(on: boolean): void;
235
+ /**
236
+ * Per-sheet used extent as JSON `[[sheetId, rowCount, colCount], …]` (1-based data extents).
237
+ * A windowed renderer reads this to size the grid's scroll extent to the engine's data — so it
238
+ * can hold only the visible viewport in JS yet scroll the full sheet.
239
+ */
240
+ sheetExtents(): string;
241
+ /**
242
+ * Sheet ids in order.
243
+ */
244
+ sheetIds(): Int32Array;
245
+ /**
246
+ * The workbook's sheets in tab order as JSON `[{sheetId, title, index, hidden?, tabColor?}]` —
247
+ * the engine's authoritative sheet identity/order (it owns `create`/`rename`/`move`/`delete`).
248
+ * A thin UI reconciles its tab list from this after each commit.
249
+ */
250
+ sheets(): string;
251
+ /**
252
+ * Begin a streaming hydration (for huge workbooks). Then feed NDJSON bytes via
253
+ * `streamWrite(chunk)` as they arrive (e.g. from `fetch(url).body`) and finish with
254
+ * `streamEnd()`. Nothing is streamed back — read the viewport with `readWindow` afterward.
255
+ */
256
+ streamBegin(): void;
257
+ /**
258
+ * Finish the streaming hydration: ingest the trailing line and recompute once.
259
+ */
260
+ streamEnd(): void;
261
+ /**
262
+ * Ingest one byte chunk of the NDJSON hydration stream (a `Uint8Array`). Chunk boundaries may
263
+ * fall anywhere — partial lines are buffered until complete.
264
+ */
265
+ streamWrite(chunk: Uint8Array): void;
266
+ /**
267
+ * Every function name the calc engine resolves by registration (formualizer builtins + rnc
268
+ * overrides), as a JSON string array — uppercase, sorted. Alias spellings are not listed;
269
+ * probe `evalFormula` for `#NAME?` to cover them. Feeds the cross-engine function-catalog
270
+ * parity harness (`libs/functions/__tests__/engine-function-parity.spec.ts`).
271
+ */
272
+ supportedFunctionNames(): string;
273
+ /**
274
+ * Undo the last document mutation; returns the `CommitResult` JSON to stream back.
275
+ */
276
+ undo(): string;
277
+ /**
278
+ * Undo / redo stack depth — a UI keeping parallel per-edit state (cursor/selection) watches these
279
+ * to push/pop its own snapshots in lockstep with the engine.
280
+ */
281
+ undoDepth(): number;
282
+ /**
283
+ * The engine's WASM linear-memory size in bytes — the VM's committed heap (`memory.size` × 64 KiB
284
+ * page). It never shrinks, so read it after a workload for the high-water mark. Returns 0 on a
285
+ * non-wasm (native test) target.
286
+ */
287
+ wasmMemoryBytes(): number;
288
+ }
289
+
290
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
291
+
292
+ export interface InitOutput {
293
+ readonly memory: WebAssembly.Memory;
294
+ readonly __wbg_spreadsheetengine_free: (a: number, b: number) => void;
295
+ readonly spreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
296
+ readonly spreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
297
+ readonly spreadsheetengine_canRedo: (a: number) => number;
298
+ readonly spreadsheetengine_canUndo: (a: number) => number;
299
+ readonly spreadsheetengine_clearHistory: (a: number) => void;
300
+ readonly spreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
301
+ readonly spreadsheetengine_documentFacets: (a: number) => [number, number];
302
+ readonly spreadsheetengine_evalFormula: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
303
+ readonly spreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
304
+ readonly spreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
305
+ readonly spreadsheetengine_exportXlsxWithOptions: (a: number, b: number, c: number) => [number, number, number, number];
306
+ readonly spreadsheetengine_filterColors: (a: number, b: number, c: number, d: number, e: number) => [number, number];
307
+ readonly spreadsheetengine_findAll: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
308
+ readonly spreadsheetengine_importXlsx: (a: number, b: number, c: number) => [number, number, number, number];
309
+ readonly spreadsheetengine_importXlsxWithPassword: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
310
+ readonly spreadsheetengine_isEncryptedXlsx: (a: number, b: number, c: number) => number;
311
+ readonly spreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
312
+ readonly spreadsheetengine_new: () => number;
313
+ readonly spreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
314
+ readonly spreadsheetengine_rangeStats: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
315
+ readonly spreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
316
+ readonly spreadsheetengine_redo: (a: number) => [number, number, number, number];
317
+ readonly spreadsheetengine_redoDepth: (a: number) => number;
318
+ readonly spreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
319
+ readonly spreadsheetengine_setWindowed: (a: number, b: number) => void;
320
+ readonly spreadsheetengine_sheetExtents: (a: number) => [number, number, number, number];
321
+ readonly spreadsheetengine_sheetIds: (a: number) => [number, number];
322
+ readonly spreadsheetengine_sheets: (a: number) => [number, number];
323
+ readonly spreadsheetengine_streamBegin: (a: number) => void;
324
+ readonly spreadsheetengine_streamEnd: (a: number) => void;
325
+ readonly spreadsheetengine_streamWrite: (a: number, b: number, c: number) => void;
326
+ readonly spreadsheetengine_supportedFunctionNames: (a: number) => [number, number];
327
+ readonly spreadsheetengine_undo: (a: number) => [number, number, number, number];
328
+ readonly spreadsheetengine_undoDepth: (a: number) => number;
329
+ readonly spreadsheetengine_wasmMemoryBytes: (a: number) => number;
330
+ readonly __wbg_collabspreadsheetengine_free: (a: number, b: number) => void;
331
+ readonly collabspreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
332
+ readonly collabspreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
333
+ readonly collabspreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
334
+ readonly collabspreadsheetengine_canRedo: (a: number) => number;
335
+ readonly collabspreadsheetengine_canUndo: (a: number) => number;
336
+ readonly collabspreadsheetengine_clearHistory: (a: number) => void;
337
+ readonly collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
338
+ readonly collabspreadsheetengine_documentFacets: (a: number) => [number, number];
339
+ readonly collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
340
+ readonly collabspreadsheetengine_encodeStateAsUpdate: (a: number) => [number, number];
341
+ readonly collabspreadsheetengine_encodeStateVector: (a: number) => [number, number];
342
+ readonly collabspreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
343
+ readonly collabspreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
344
+ readonly collabspreadsheetengine_initGrid: (a: number, b: number, c: number, d: number) => void;
345
+ readonly collabspreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
346
+ readonly collabspreadsheetengine_new: () => number;
347
+ readonly collabspreadsheetengine_newWithClientId: (a: number) => number;
348
+ readonly collabspreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
349
+ readonly collabspreadsheetengine_rangeStats: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
350
+ readonly collabspreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
351
+ readonly collabspreadsheetengine_redo: (a: number) => [number, number, number, number];
352
+ readonly collabspreadsheetengine_redoDepth: (a: number) => number;
353
+ readonly collabspreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
354
+ readonly collabspreadsheetengine_setWindowed: (a: number, b: number) => void;
355
+ readonly collabspreadsheetengine_sheetExtents: (a: number) => [number, number, number, number];
356
+ readonly collabspreadsheetengine_sheetIds: (a: number) => [number, number];
357
+ readonly collabspreadsheetengine_sheets: (a: number) => [number, number];
358
+ readonly collabspreadsheetengine_streamBegin: (a: number) => void;
359
+ readonly collabspreadsheetengine_streamEnd: (a: number) => void;
360
+ readonly collabspreadsheetengine_streamWrite: (a: number, b: number, c: number) => void;
361
+ readonly collabspreadsheetengine_syncRemote: (a: number) => [number, number, number, number];
362
+ readonly collabspreadsheetengine_undo: (a: number) => [number, number, number, number];
363
+ readonly collabspreadsheetengine_undoDepth: (a: number) => number;
364
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
365
+ readonly __wbindgen_exn_store: (a: number) => void;
366
+ readonly __externref_table_alloc: () => number;
367
+ readonly __wbindgen_externrefs: WebAssembly.Table;
368
+ readonly __wbindgen_malloc: (a: number, b: number) => number;
369
+ readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
370
+ readonly __externref_table_dealloc: (a: number) => void;
371
+ readonly __wbindgen_start: () => void;
372
+ }
373
+
374
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
375
+
376
+ /**
377
+ * Instantiates the given `module`, which can either be bytes or
378
+ * a precompiled `WebAssembly.Module`.
379
+ *
380
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
381
+ *
382
+ * @returns {InitOutput}
383
+ */
384
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
385
+
386
+ /**
387
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
388
+ * for everything else, calls `WebAssembly.instantiate` directly.
389
+ *
390
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
391
+ *
392
+ * @returns {Promise<InitOutput>}
393
+ */
394
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;