geolibre-wasm 0.1.0 → 0.2.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.
package/README.md CHANGED
@@ -1,22 +1,51 @@
1
1
  # geolibre-wasm
2
2
 
3
- The [`whitebox_next_gen`](https://github.com/jblindsay/whitebox_next_gen) pure-Rust
4
- geospatial tool suite, **plus new [GeoLibre](https://github.com/opengeos/GeoLibre)
5
- tools**, compiled to WebAssembly (WASI) and runnable entirely in the browser,
6
- Node, Deno, or any bundler. No server, no Python, no native install.
3
+ A pure-Rust geospatial toolkit compiled to WebAssembly, runnable entirely in the
4
+ browser, Node, Deno, or any bundler. No server, no Python, no native install.
5
+
6
+ It is a **superset of [`whitebox-wasm`](https://www.npmjs.com/package/whitebox-wasm)**:
7
+ everything that package offers, plus new
8
+ [GeoLibre](https://github.com/opengeos/GeoLibre) tools. Built on
9
+ [`opengeos/whitebox-wasm`](https://github.com/opengeos/whitebox-wasm), the
10
+ WASM-ready fork of [`whitebox_next_gen`](https://github.com/jblindsay/whitebox_next_gen).
7
11
 
8
12
  Source repo: [opengeos/geolibre-rust](https://github.com/opengeos/geolibre-rust).
9
13
 
14
+ Two layers, two entry points:
15
+
16
+ - **`geolibre-wasm`** (the `.` export) -- a `wasm-bindgen` browser library with
17
+ typed in-memory APIs for GeoTIFF/COG read+write, projections, vector, and LiDAR.
18
+ - **`geolibre-wasm/tools`** (the `./tools` export) -- a WASI tool runner exposing
19
+ the whitebox tool suite plus GeoLibre's own tools.
20
+
10
21
  ## Install
11
22
 
12
23
  ```bash
13
24
  npm install geolibre-wasm
14
25
  ```
15
26
 
16
- It has a single runtime dependency, [`@bjorn3/browser_wasi_shim`](https://github.com/bjorn3/browser_wasi_shim),
17
- which runs the WASI binary over an in-memory filesystem.
27
+ `geolibre-wasm/tools` uses [`@bjorn3/browser_wasi_shim`](https://github.com/bjorn3/browser_wasi_shim)
28
+ (a runtime dependency) to run the WASI binary over an in-memory filesystem.
29
+
30
+ ## Library usage (`.`)
31
+
32
+ ```js
33
+ import init, { GeoTiffReader, CogBuilder, geotiff_info, version } from "geolibre-wasm";
34
+
35
+ await init(); // load the wasm-bindgen module (browsers/bundlers)
36
+
37
+ const r = new GeoTiffReader(tiffBytes); // Uint8Array
38
+ console.log(r.width, r.height, r.bands, r.epsg);
39
+ const band0 = r.read_band_f64(0); // Float64Array
40
+
41
+ // header-only metadata (works on multi-GB files)
42
+ const meta = JSON.parse(geotiff_info(tiffBytes));
43
+ ```
44
+
45
+ Classes include `GeoTiffReader` (parse once, read many), `CogBuilder` (encode
46
+ Cloud Optimized GeoTIFFs), and `CogStream` (range-request tiled COG reading).
18
47
 
19
- ## Usage
48
+ ## Tools usage (`./tools`)
20
49
 
21
50
  ```js
22
51
  import { runTool, listTools, listManifests } from "geolibre-wasm/tools";
package/geolibre-cli.wasm CHANGED
Binary file
@@ -0,0 +1,464 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /**
5
+ * Builder for encoding a Cloud Optimized GeoTIFF (tiled, with overviews and
6
+ * GDAL ghost metadata) to bytes. A COG is also a valid plain GeoTIFF.
7
+ *
8
+ * Configure with the `set_*` methods, then call one of `write_*` with the
9
+ * pixel data to get a `Uint8Array` of the encoded file.
10
+ */
11
+ export class CogBuilder {
12
+ free(): void;
13
+ [Symbol.dispose](): void;
14
+ /**
15
+ * New builder for a `width` x `height` raster with `bands` bands.
16
+ */
17
+ constructor(width: number, height: number, bands: number);
18
+ /**
19
+ * Force BigTIFF (64-bit offsets) for very large outputs.
20
+ */
21
+ set_bigtiff(on: boolean): void;
22
+ /**
23
+ * Compression: `none`, `lzw`, `deflate`, `packbits`, `webp`, `jpeg`, `jpegxl`.
24
+ */
25
+ set_compression(name: string): void;
26
+ /**
27
+ * Set the EPSG code (1..=65535).
28
+ */
29
+ set_epsg(epsg: number): void;
30
+ /**
31
+ * Set the full affine geo-transform:
32
+ * `[x_origin, pixel_width, row_rotation, y_origin, col_rotation, pixel_height]`.
33
+ */
34
+ set_geo_transform(gt: Float64Array): void;
35
+ /**
36
+ * Set the no-data sentinel value.
37
+ */
38
+ set_nodata(v: number): void;
39
+ /**
40
+ * Convenience: north-up geo-transform from upper-left origin and pixel size.
41
+ */
42
+ set_origin(x_min: number, y_max: number, pixel_size: number): void;
43
+ /**
44
+ * Explicit overview decimation factors (e.g. `[2,4,8]`); empty disables overviews.
45
+ */
46
+ set_overview_levels(levels: Uint32Array): void;
47
+ /**
48
+ * Internal tile size in pixels (default 512).
49
+ */
50
+ set_tile_size(px: number): void;
51
+ /**
52
+ * Encode `f32` pixel data to a COG. `Uint8Array`.
53
+ */
54
+ write_f32(data: Float32Array): Uint8Array;
55
+ /**
56
+ * Encode `f64` pixel data to a COG. `Uint8Array`.
57
+ */
58
+ write_f64(data: Float64Array): Uint8Array;
59
+ /**
60
+ * Encode `u8` pixel data to a COG. `Uint8Array`.
61
+ */
62
+ write_u8(data: Uint8Array): Uint8Array;
63
+ }
64
+
65
+ /**
66
+ * Range-request reader for a (tiled) Cloud Optimized GeoTIFF.
67
+ *
68
+ * The wasm module does no network I/O itself; this class parses the header and
69
+ * tells the JS host exactly which byte ranges to fetch, then decodes the tiles
70
+ * the host fetches. Typical flow:
71
+ *
72
+ * 1. Range-fetch the first chunk of the file (e.g. 0..1 MiB) and
73
+ * `new CogStream(headerBytes)`. If it throws "need more header bytes", fetch
74
+ * a larger prefix and retry.
75
+ * 2. Pick a level (0 = full res, higher = overviews) and a pixel window.
76
+ * 3. `tiles_for_window(level, x, y, w, h)` returns the tiles and their byte
77
+ * ranges; range-fetch each, then `decode_tile_f64(level, bytes)`.
78
+ */
79
+ export class CogStream {
80
+ free(): void;
81
+ [Symbol.dispose](): void;
82
+ /**
83
+ * Bounding box `[min_x, min_y, max_x, max_y]` in the dataset CRS, or empty.
84
+ */
85
+ bounding_box(): Float64Array;
86
+ /**
87
+ * Bounds `[min_lon, min_lat, max_lon, max_lat]` in WGS84 degrees, or empty.
88
+ */
89
+ bounds_lonlat(): Float64Array;
90
+ /**
91
+ * Image center `[x, y]` in the dataset CRS, or empty.
92
+ */
93
+ center(): Float64Array;
94
+ /**
95
+ * Image center `[lon, lat]` in WGS84 degrees, or empty if not convertible.
96
+ */
97
+ center_lonlat(): Float64Array;
98
+ /**
99
+ * Decode one tile's fetched (compressed) bytes into an `f64` `Float64Array`,
100
+ * pixel-interleaved, length `tile_width * tile_height * bands`. Edge tiles
101
+ * come back full-size; clip to the image/window on the JS side.
102
+ */
103
+ decode_tile_f64(level: number, tile_bytes: Uint8Array): Float64Array;
104
+ /**
105
+ * Level-0 geo-transform `[x_origin, pixel_width, row_rot, y_origin, col_rot,
106
+ * pixel_height]`, or empty if not georeferenced.
107
+ */
108
+ geo_transform(): Float64Array;
109
+ /**
110
+ * JSON array describing every level: `[{level,width,height,tile_width,
111
+ * tile_height,tiles_x,tiles_y,bands,bits_per_sample,sample_format,compression}]`.
112
+ */
113
+ levels_json(): string;
114
+ /**
115
+ * Parse a COG's tile layout from front-of-file header bytes.
116
+ */
117
+ constructor(header_bytes: Uint8Array);
118
+ /**
119
+ * `[offset, length]` byte range of the tile at `(col, row)` on `level`.
120
+ */
121
+ tile_range(level: number, col: number, row: number): Float64Array;
122
+ /**
123
+ * Tiles covering a pixel window on `level`, as a JSON array of
124
+ * `{col,row,offset,length}`. Fetch each byte range, then `decode_tile_f64`.
125
+ */
126
+ tiles_for_window(level: number, x: number, y: number, w: number, h: number): string;
127
+ /**
128
+ * EPSG code of the full-resolution level, if any.
129
+ */
130
+ readonly epsg: number | undefined;
131
+ /**
132
+ * No-data sentinel, if declared.
133
+ */
134
+ readonly nodata: number | undefined;
135
+ /**
136
+ * Number of resolution levels (1 + overview count).
137
+ */
138
+ readonly num_levels: number;
139
+ }
140
+
141
+ /**
142
+ * A parsed GeoTIFF held in memory. Construct once, then call the accessor and
143
+ * `read_*` methods many times without re-parsing the file.
144
+ */
145
+ export class GeoTiffReader {
146
+ free(): void;
147
+ [Symbol.dispose](): void;
148
+ /**
149
+ * Bounding box as `[min_x, min_y, max_x, max_y]`, or empty if not georeferenced.
150
+ */
151
+ bounding_box(): Float64Array;
152
+ /**
153
+ * Bounds `[min_lon, min_lat, max_lon, max_lat]` in WGS84 degrees, or empty
154
+ * if not convertible.
155
+ */
156
+ bounds_lonlat(): Float64Array;
157
+ /**
158
+ * Image center `[x, y]` in the dataset CRS, or empty if not georeferenced.
159
+ */
160
+ center(): Float64Array;
161
+ /**
162
+ * Image center `[lon, lat]` in WGS84 degrees, or empty if not georeferenced
163
+ * or the CRS is not convertible.
164
+ */
165
+ center_lonlat(): Float64Array;
166
+ /**
167
+ * Affine geo-transform as `[x_origin, pixel_width, row_rotation,
168
+ * y_origin, col_rotation, pixel_height]`, or an empty array if absent.
169
+ */
170
+ geo_transform(): Float64Array;
171
+ /**
172
+ * Full metadata as a JSON string (same shape as [`geotiff_info`]).
173
+ */
174
+ info_json(): string;
175
+ /**
176
+ * Parse a GeoTIFF / BigTIFF / COG from raw bytes.
177
+ */
178
+ constructor(data: Uint8Array);
179
+ /**
180
+ * Read every band as `f64`, interleaved per pixel (`band0,band1,...`).
181
+ */
182
+ read_all_f64(): Float64Array;
183
+ /**
184
+ * Read a band's raw, undecoded-to-native bytes. `Uint8Array`.
185
+ */
186
+ read_band_bytes(band: number): Uint8Array;
187
+ /**
188
+ * Native `f32` band. `Float32Array`.
189
+ */
190
+ read_band_f32(band: number): Float32Array;
191
+ /**
192
+ * Read a band as `f64`, converting from any on-disk type. `Float64Array`.
193
+ */
194
+ read_band_f64(band: number): Float64Array;
195
+ /**
196
+ * Native `i16` band. `Int16Array`.
197
+ */
198
+ read_band_i16(band: number): Int16Array;
199
+ /**
200
+ * Native `i32` band. `Int32Array`.
201
+ */
202
+ read_band_i32(band: number): Int32Array;
203
+ /**
204
+ * Native `i8` band. `Int8Array`.
205
+ */
206
+ read_band_i8(band: number): Int8Array;
207
+ /**
208
+ * Native `u16` band. `Uint16Array`.
209
+ */
210
+ read_band_u16(band: number): Uint16Array;
211
+ /**
212
+ * Native `u32` band. `Uint32Array`.
213
+ */
214
+ read_band_u32(band: number): Uint32Array;
215
+ /**
216
+ * Native `u8` band. `Uint8Array`.
217
+ */
218
+ read_band_u8(band: number): Uint8Array;
219
+ /**
220
+ * Band-0 statistics as a JSON string (same shape as [`geotiff_stats`]).
221
+ */
222
+ stats_json(): string;
223
+ /**
224
+ * GDAL value transform as `[scale, offset]` (physical = raw*scale+offset),
225
+ * or empty if none. Apply to `read_*` outputs to get physical values.
226
+ */
227
+ value_transform(): Float64Array;
228
+ readonly bands: number;
229
+ readonly bits_per_sample: number;
230
+ readonly compression: string;
231
+ /**
232
+ * EPSG code, or `undefined` if the file is not georeferenced by EPSG.
233
+ */
234
+ readonly epsg: number | undefined;
235
+ readonly height: number;
236
+ readonly is_bigtiff: boolean;
237
+ /**
238
+ * No-data sentinel, or `undefined` if none is declared.
239
+ */
240
+ readonly nodata: number | undefined;
241
+ readonly sample_format: string;
242
+ readonly width: number;
243
+ }
244
+
245
+ /**
246
+ * Install a panic hook so Rust panics surface as readable `console.error`
247
+ * messages instead of an opaque `RuntimeError: unreachable`.
248
+ */
249
+ export function __start(): void;
250
+
251
+ /**
252
+ * Convex hull of a 2D point set. Input is `[x0,y0,x1,y1,...]`; output is the
253
+ * hull ring as `[x0,y0,...]` (closed). Needs at least 3 points.
254
+ */
255
+ export function convex_hull(points_xy: Float64Array): Float64Array;
256
+
257
+ /**
258
+ * Decode only a GeoTIFF's header and return its metadata as JSON. O(header)
259
+ * memory, so it works on multi-gigabyte rasters that whole-image reads cannot
260
+ * fit in WASM's 4 GiB address space.
261
+ *
262
+ * `{"ok":true,"width","height","bands","epsg"|null,"nodata"|null,
263
+ * "bits_per_sample","sample_format","compression","tiled","bigtiff"}`
264
+ */
265
+ export function geotiff_info(data: Uint8Array): string;
266
+
267
+ /**
268
+ * Read a single band of pixel values as an `f64` `Float64Array` (any on-disk
269
+ * sample format is converted), row-major, length `width * height`.
270
+ */
271
+ export function geotiff_read_band_f64(data: Uint8Array, band: number): Float64Array;
272
+
273
+ /**
274
+ * Decode a GeoTIFF and return band-0 summary statistics as JSON:
275
+ * `{"ok":true,"width","height","bands","epsg","valid","min","max","mean"}`.
276
+ */
277
+ export function geotiff_stats(data: Uint8Array): string;
278
+
279
+ /**
280
+ * LiDAR formats this build can read from memory.
281
+ */
282
+ export function lidar_formats(): string;
283
+
284
+ /**
285
+ * Read a LiDAR file's metadata as JSON. For LAS/LAZ this is header-only (count,
286
+ * bounds, CRS, point format, COPC flag) and never decodes points:
287
+ * `{"ok":true,"format","points","epsg"|null,"point_format"|null,
288
+ * "bounds":[min_x,min_y,min_z,max_x,max_y,max_z]|null,"copc":bool}`.
289
+ */
290
+ export function lidar_info(data: Uint8Array, format: string): string;
291
+
292
+ /**
293
+ * Read per-point classification codes as a `Uint8Array` (length `point_count`).
294
+ */
295
+ export function lidar_read_classification(data: Uint8Array, format: string): Uint8Array;
296
+
297
+ /**
298
+ * Read per-point intensity as a `Uint16Array` (length `point_count`).
299
+ */
300
+ export function lidar_read_intensity(data: Uint8Array, format: string): Uint16Array;
301
+
302
+ /**
303
+ * Read all point coordinates as an interleaved `Float64Array`
304
+ * `[x0,y0,z0, x1,y1,z1, ...]` (length `3 * point_count`).
305
+ *
306
+ * Guarded against 32-bit memory blowup; very large clouds return a clean error
307
+ * (read the header with `lidar_info`, or downsample on your side).
308
+ */
309
+ export function lidar_read_xyz(data: Uint8Array, format: string): Float64Array;
310
+
311
+ /**
312
+ * Global Moran's I spatial autocorrelation for point data, using a binary
313
+ * distance-band spatial weights matrix (neighbors within `distance_threshold`).
314
+ *
315
+ * `points_xy` is `[x0,y0,...]`, `values` is one value per point. Returns JSON:
316
+ * `{"ok":true,"morans_i","expected","variance","z_score","p_value","n"}`.
317
+ *
318
+ * Builds neighbors in O(n^2); intended for up to a few thousand points.
319
+ */
320
+ export function morans_i(points_xy: Float64Array, values: Float64Array, distance_threshold: number): string;
321
+
322
+ /**
323
+ * Vector formats this build can read from memory (comma-separated).
324
+ */
325
+ export function vector_formats(): string;
326
+
327
+ /**
328
+ * Read a vector dataset and return metadata as JSON:
329
+ * `{"ok":true,"name","features","geometry","epsg"|null,"fields":[...],
330
+ * "bbox":[min_x,min_y,max_x,max_y]|null}`.
331
+ */
332
+ export function vector_info(data: Uint8Array, format: string): string;
333
+
334
+ /**
335
+ * Read a vector dataset and return it as a GeoJSON `FeatureCollection` string.
336
+ */
337
+ export function vector_to_geojson(data: Uint8Array, format: string): string;
338
+
339
+ /**
340
+ * Read a vector dataset, reproject it to `dst_epsg`, and return GeoJSON.
341
+ * Uses the bundled pure-Rust projection engine (full EPSG support).
342
+ *
343
+ * `src_epsg` overrides the source CRS: pass `0` to use the layer's own CRS, or
344
+ * fall back to EPSG:4326 if it declares none (GeoJSON is WGS84 by RFC 7946).
345
+ */
346
+ export function vector_to_geojson_reproject(data: Uint8Array, format: string, dst_epsg: number, src_epsg: number): string;
347
+
348
+ /**
349
+ * Semantic version of this crate, exposed for runtime feature detection.
350
+ */
351
+ export function version(): string;
352
+
353
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
354
+
355
+ export interface InitOutput {
356
+ readonly memory: WebAssembly.Memory;
357
+ readonly __start: () => void;
358
+ readonly __wbg_cogbuilder_free: (a: number, b: number) => void;
359
+ readonly __wbg_cogstream_free: (a: number, b: number) => void;
360
+ readonly __wbg_geotiffreader_free: (a: number, b: number) => void;
361
+ readonly cogbuilder_new: (a: number, b: number, c: number) => number;
362
+ readonly cogbuilder_set_bigtiff: (a: number, b: number) => void;
363
+ readonly cogbuilder_set_compression: (a: number, b: number, c: number, d: number) => void;
364
+ readonly cogbuilder_set_epsg: (a: number, b: number) => void;
365
+ readonly cogbuilder_set_geo_transform: (a: number, b: number, c: number, d: number) => void;
366
+ readonly cogbuilder_set_nodata: (a: number, b: number) => void;
367
+ readonly cogbuilder_set_origin: (a: number, b: number, c: number, d: number) => void;
368
+ readonly cogbuilder_set_overview_levels: (a: number, b: number, c: number) => void;
369
+ readonly cogbuilder_set_tile_size: (a: number, b: number) => void;
370
+ readonly cogbuilder_write_f32: (a: number, b: number, c: number, d: number) => void;
371
+ readonly cogbuilder_write_f64: (a: number, b: number, c: number, d: number) => void;
372
+ readonly cogbuilder_write_u8: (a: number, b: number, c: number, d: number) => void;
373
+ readonly cogstream_bounding_box: (a: number, b: number) => void;
374
+ readonly cogstream_bounds_lonlat: (a: number, b: number) => void;
375
+ readonly cogstream_center: (a: number, b: number) => void;
376
+ readonly cogstream_center_lonlat: (a: number, b: number) => void;
377
+ readonly cogstream_decode_tile_f64: (a: number, b: number, c: number, d: number, e: number) => void;
378
+ readonly cogstream_epsg: (a: number) => number;
379
+ readonly cogstream_geo_transform: (a: number, b: number) => void;
380
+ readonly cogstream_levels_json: (a: number, b: number) => void;
381
+ readonly cogstream_new: (a: number, b: number, c: number) => void;
382
+ readonly cogstream_nodata: (a: number, b: number) => void;
383
+ readonly cogstream_num_levels: (a: number) => number;
384
+ readonly cogstream_tile_range: (a: number, b: number, c: number, d: number, e: number) => void;
385
+ readonly cogstream_tiles_for_window: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
386
+ readonly convex_hull: (a: number, b: number, c: number) => void;
387
+ readonly geotiff_info: (a: number, b: number, c: number) => void;
388
+ readonly geotiff_read_band_f64: (a: number, b: number, c: number, d: number) => void;
389
+ readonly geotiff_stats: (a: number, b: number, c: number) => void;
390
+ readonly geotiffreader_bands: (a: number) => number;
391
+ readonly geotiffreader_bits_per_sample: (a: number) => number;
392
+ readonly geotiffreader_bounding_box: (a: number, b: number) => void;
393
+ readonly geotiffreader_bounds_lonlat: (a: number, b: number) => void;
394
+ readonly geotiffreader_center: (a: number, b: number) => void;
395
+ readonly geotiffreader_center_lonlat: (a: number, b: number) => void;
396
+ readonly geotiffreader_compression: (a: number, b: number) => void;
397
+ readonly geotiffreader_epsg: (a: number) => number;
398
+ readonly geotiffreader_geo_transform: (a: number, b: number) => void;
399
+ readonly geotiffreader_height: (a: number) => number;
400
+ readonly geotiffreader_info_json: (a: number, b: number) => void;
401
+ readonly geotiffreader_is_bigtiff: (a: number) => number;
402
+ readonly geotiffreader_new: (a: number, b: number, c: number) => void;
403
+ readonly geotiffreader_nodata: (a: number, b: number) => void;
404
+ readonly geotiffreader_read_all_f64: (a: number, b: number) => void;
405
+ readonly geotiffreader_read_band_bytes: (a: number, b: number, c: number) => void;
406
+ readonly geotiffreader_read_band_f32: (a: number, b: number, c: number) => void;
407
+ readonly geotiffreader_read_band_f64: (a: number, b: number, c: number) => void;
408
+ readonly geotiffreader_read_band_i16: (a: number, b: number, c: number) => void;
409
+ readonly geotiffreader_read_band_i32: (a: number, b: number, c: number) => void;
410
+ readonly geotiffreader_read_band_i8: (a: number, b: number, c: number) => void;
411
+ readonly geotiffreader_read_band_u16: (a: number, b: number, c: number) => void;
412
+ readonly geotiffreader_read_band_u32: (a: number, b: number, c: number) => void;
413
+ readonly geotiffreader_read_band_u8: (a: number, b: number, c: number) => void;
414
+ readonly geotiffreader_sample_format: (a: number, b: number) => void;
415
+ readonly geotiffreader_stats_json: (a: number, b: number) => void;
416
+ readonly geotiffreader_value_transform: (a: number, b: number) => void;
417
+ readonly geotiffreader_width: (a: number) => number;
418
+ readonly lidar_formats: (a: number) => void;
419
+ readonly lidar_info: (a: number, b: number, c: number, d: number, e: number) => void;
420
+ readonly lidar_read_classification: (a: number, b: number, c: number, d: number, e: number) => void;
421
+ readonly lidar_read_intensity: (a: number, b: number, c: number, d: number, e: number) => void;
422
+ readonly lidar_read_xyz: (a: number, b: number, c: number, d: number, e: number) => void;
423
+ readonly morans_i: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
424
+ readonly vector_formats: (a: number) => void;
425
+ readonly vector_info: (a: number, b: number, c: number, d: number, e: number) => void;
426
+ readonly vector_to_geojson: (a: number, b: number, c: number, d: number, e: number) => void;
427
+ readonly vector_to_geojson_reproject: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
428
+ readonly version: (a: number) => void;
429
+ readonly rust_zstd_wasm_shim_calloc: (a: number, b: number) => number;
430
+ readonly rust_zstd_wasm_shim_free: (a: number) => void;
431
+ readonly rust_zstd_wasm_shim_malloc: (a: number) => number;
432
+ readonly rust_zstd_wasm_shim_memcmp: (a: number, b: number, c: number) => number;
433
+ readonly rust_zstd_wasm_shim_memcpy: (a: number, b: number, c: number) => number;
434
+ readonly rust_zstd_wasm_shim_memmove: (a: number, b: number, c: number) => number;
435
+ readonly rust_zstd_wasm_shim_memset: (a: number, b: number, c: number) => number;
436
+ readonly rust_zstd_wasm_shim_qsort: (a: number, b: number, c: number, d: number) => void;
437
+ readonly __wbindgen_export: (a: number, b: number, c: number) => void;
438
+ readonly __wbindgen_export2: (a: number, b: number) => number;
439
+ readonly __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;
440
+ readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
441
+ readonly __wbindgen_start: () => void;
442
+ }
443
+
444
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
445
+
446
+ /**
447
+ * Instantiates the given `module`, which can either be bytes or
448
+ * a precompiled `WebAssembly.Module`.
449
+ *
450
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
451
+ *
452
+ * @returns {InitOutput}
453
+ */
454
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
455
+
456
+ /**
457
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
458
+ * for everything else, calls `WebAssembly.instantiate` directly.
459
+ *
460
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
461
+ *
462
+ * @returns {Promise<InitOutput>}
463
+ */
464
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;