import { type Nullable } from "../../types.js"; import { type IDracoAttributeData, type IDracoEncodedMeshData, type IDracoEncoderOptions } from "./dracoEncoder.types.js"; /** * @internal */ export declare function EncodeMesh(module: unknown /** EncoderModule */, attributes: Array, indices: Nullable, options: IDracoEncoderOptions): IDracoEncodedMeshData; /** * The worker function that gets converted to a blob url to pass into a worker. * To be used if a developer wants to create their own worker instance and inject it instead of using the default worker. */ export declare function EncoderWorkerFunction(): void; /** * @internal */ export declare function DecodeMesh(module: unknown /** DecoderModule */, data: Int8Array, attributeIDs: Record | undefined, onIndicesData: (indices: Uint16Array | Uint32Array) => void, onAttributeData: (kind: string, data: ArrayBufferView, size: number, offset: number, stride: number, normalized: boolean) => void): number; /** * The worker function that gets converted to a blob url to pass into a worker. * To be used if a developer wants to create their own worker instance and inject it instead of using the default worker. */ export declare function DecoderWorkerFunction(): void; export { DecoderWorkerFunction as workerFunction }; /** * Initializes a worker that was created for the draco agent pool * @param worker The worker to initialize * @param wasmBinary The wasm binary to load into the worker * @param moduleUrl The url to the draco decoder module (optional) * @returns A promise that resolves when the worker is initialized */ export declare function initializeWebWorker(worker: Worker, wasmBinary?: ArrayBuffer, moduleUrl?: string): Promise;