import type { IWasmTypedArray } from "./IWasmTypedArray"; /** * Typed array */ export type TypedArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array; /** * Typed array constructor */ export type TypedArrayConstructor = { new (buffer: ArrayBuffer, byteOffset?: number, length?: number): T; new (length: number): T; }; /** * Safe typed array pointer for WASM */ export declare class WasmTypedArray implements IWasmTypedArray { private readonly _memory; private readonly _byteOffset; private readonly _length; private _array; /** * Create a safe typed array pointer for WASM * * @param typedArrayConstructor typed array constructor * @param memory WebAssembly memory * @param byteOffset byte offset of the typed array * @param length length of the typed array */ constructor(typedArrayConstructor: TypedArrayConstructor, memory: WebAssembly.Memory, byteOffset: number, length: number); /** * Get the typed array */ get array(): T; }