import type { Document } from '@gltf-transform/core'; import type { Object3D } from 'three'; export type MaterialTextureRoles = { map?: string; normalMap?: string; specularMap?: string; emissiveMap?: string; }; /** Records which basename a just-loaded Texture object came from, keyed by object identity. */ export declare function recordTextureSource(texture: object, basename: string): void; /** Reads which basename each material's DiffuseColor/NormalMap/SpecularColor/EmissiveColor slot referenced. */ export declare function collectMaterialTextureRoles(root: Object3D): Map; /** Resolves, decodes (DDS/TGA), converts (DirectX normal flip) and bounds-resizes only the textures materials actually reference. */ export declare function decodeReferencedTextures(referencedBasenames: readonly string[], resolveTextures: (basenames: readonly string[]) => Promise>, maxDimension: number): Promise<{ images: Map; unsupported: string[]; }>; /** Attaches decoded textures to the exported glTF materials by original FBX material name. */ export declare function bakeMaterialTextures(document: Document, roles: Map, images: Map): void; export declare function installNodeDomShims(): void;