import { LayerConfig, LayerData, NodeMaterialInput } from "../types"; import { Texture } from "three"; /** * Extracts shader nodes and textures from existing Three.js materials * Allows reuse of pre-built materials as layers */ export declare class MaterialExtractor { /** * Extract layer data from a material's shader nodes */ extractFromMaterial(layer: LayerConfig): LayerData; /** * Extract shader nodes from material */ private extractNodes; private extractRoughness; private extractMetalness; private extractAO; /** * Check if material has texture maps */ private hasTextures; /** * Extract textures and apply layer transformations */ private extractAndTransformTextures; /** * Extract texture maps from material */ extractTextures(material: NodeMaterialInput): { colorMap?: Texture; normalMap?: Texture; roughnessMap?: Texture; metalnessMap?: Texture; aoMap?: Texture; heightMap?: Texture; }; /** * Apply edge wear to extracted material */ private applyEdgeWearToExtracted; /** * Check if material can be used as layer input */ static isCompatible(material: any): material is NodeMaterialInput; } //# sourceMappingURL=MaterialExtractor.d.ts.map