import { Document, Texture } from '@gltf-transform/core'; import { NEEDLE_compression_texture_schema } from '../extensions/index.js'; import { INeedleTextureTransformContext, NeedleTransformContext } from './needle_common.js'; export declare class NeedlePmremContext implements INeedleTextureTransformContext { private wasmModule; private pmremDir; private basisuExe; private tmpDir; private processed; private available; private logger; private readonly convertedTextures; /** In-memory dedup: keyed by EXR content hash, resolves to KTX2 bytes */ private readonly processingPromises; prepare(document: Document): Promise; process(index: number, texture: Texture, _settings: NEEDLE_compression_texture_schema | null, context: NeedleTransformContext): Promise; /** Get or process EXR bytes into KTX2, with in-memory dedup and disk caching */ private getOrProcessExr; private processExrToKtx2; finalize(document: Document): Promise; }