import { Document, Texture } from '@gltf-transform/core'; import { NEEDLE_compression_texture_schema } from '../extensions/index.js'; import { Config } from '../config/index.js'; export interface NeedleTransformContext { /** full path to the file being processed */ file: string; outfile: string; config: Config; debug?: boolean; useCache: boolean; noToktx: boolean; } export interface INeedleTextureTransformContext { prepare(document: Document): Promise; process(index: number, texture: Texture, settings: NEEDLE_compression_texture_schema, context: NeedleTransformContext): Promise; finalize(document: Document): Promise; }