import { LayeredMaterial } from "../LayeredMaterial"; import { LayerConfig, LayeredMaterialOptions } from "../types"; /** * Transition between material states (dry/wet, day/night, clean/dirty) */ export declare class DynamicLayeredMaterial extends LayeredMaterial { private _sourceLayers; private _targetLayers; private _transitionFactor; private _transitionState; private _transitionSpeed; private _autoUpdate; constructor(options?: LayeredMaterialOptions & { transitionSpeed?: number; autoUpdate?: boolean; }); /** * Start transition to target layers * @param targetLayers - Target layer configuration * @param transitionSpeed - Speed of transition (multiplier) */ startTransition(targetLayers: LayerConfig[], transitionSpeed?: number): void; /** * Set transition factor manually (0-1) */ setTransition(targetLayers: LayerConfig[], factor: number): void; /** * Update transition (call this in animation loop if autoUpdate is false) */ update(deltaTime: number): void; /** * Update the material with blended layers */ private updateBlendedLayers; /** * Blend two layer configurations by a factor (0-1) */ private blendLayerConfigs; /** * Apply opacity to a layer */ private applyLayerOpacity; /** * Blend two individual layer configurations */ private blendSingleLayerConfig; private blendEdgeWear; private blendTextureBombing; private blendMask; /** * Blend height blend configurations */ private blendHeightBlend; /** * Linear interpolation between two numbers */ private lerp; /** * Blend between two RGB colors */ private blendRGBColors; /** * Get current transition progress (0-1) */ getTransitionProgress(): number; /** * Check if material is currently transitioning */ isTransitioning(): boolean; /** * Complete the transition (fully adopt target layers) */ completeTransition(): void; /** * Cancel transition and revert to source layers */ cancelTransition(): void; } //# sourceMappingURL=DynamicLayeredMaterial.d.ts.map