import { ColorRepresentation } from 'three/src/math/Color'; import { MaterialProps } from './interfaces'; export interface TransmissionMaterialProps extends MaterialProps { /** * How metallic the surface appears (0=dielectric, 1=metal). * Usually 0 for glass/transparent materials. * @dial surface @dial-cols 2 * @dial-label-left * @dial-dtype number * @dial-default 0 * @dial-min 0 * @dial-max 1 * @dial-step 0.01 */ metalness?: number; /** * Surface micro-roughness (0=mirror, 1=fully diffuse). * Low values create clear glass, higher values frosted glass. * @dial surface @dial-cols 2 * @dial-label-left * @dial-dtype number * @dial-default 0 * @dial-min 0 * @dial-max 1 * @dial-step 0.01 */ roughness?: number; /** * Amount of light transmitted through the material (0=opaque, 1=fully transparent). * This is the key property for glass-like materials. * @dial transmission @dial-cols 2 * @dial-label-left * @dial-dtype number * @dial-default 1 * @dial-min 0 * @dial-max 1 * @dial-step 0.01 */ transmission?: number; /** * Thickness of the material for refraction calculations. * Affects how light bends through the object. * @dial transmission @dial-cols 2 * @dial-label-left * @dial-dtype number * @dial-default 0.5 * @dial-min 0 * @dial-max 10 * @dial-step 0.1 */ thickness?: number; /** * Index of refraction (IOR). Controls how much light bends. * Glass ~1.5, Water ~1.33, Diamond ~2.4. * @dial transmission * @dial-label-left * @dial-dtype number * @dial-default 1.5 * @dial-min 1 * @dial-max 2.5 * @dial-step 0.01 */ ior?: number; /** * Intensity of clearcoat layer (0=none, 1=full). * Adds a reflective lacquer layer on top. * @dial clearcoat @dial-cols 2 * @dial-label-left * @dial-dtype number * @dial-default 0 * @dial-min 0 * @dial-max 1 * @dial-step 0.01 */ clearcoat?: number; /** * Roughness of the clearcoat layer. * @dial clearcoat @dial-cols 2 * @dial-label-left * @dial-dtype number * @dial-default 0 * @dial-min 0 * @dial-max 1 * @dial-step 0.01 */ clearcoatRoughness?: number; /** * Color tint applied to transmitted light. * Use for colored glass effects. * @dial transmission * @dial-dtype color * @dial-default #ffffff */ attenuationColor?: ColorRepresentation; /** * Distance at which attenuation color reaches full intensity. * Smaller values = more intense coloring. * @dial transmission * @dial-label-left * @dial-dtype number * @dial-default 1 * @dial-min 0 * @dial-max 10 * @dial-step 0.1 */ attenuationDistance?: number; /** * Self-illumination color independent of scene lighting. * @dial emission * @dial-dtype color * @dial-default #000000 */ emissive?: ColorRepresentation; /** * Strength of the emissive glow effect. * @dial emission * @dial-label-left * @dial-dtype number * @dial-default 0 * @dial-min 0 * @dial-max 10 * @dial-step 0.1 */ emissiveIntensity?: number; /** * Use flat shading with faceted appearance instead of smooth. * @dial rendering * @dial-dtype boolean * @dial-default false */ flatShading?: boolean; } /** * Transmission material for glass, water, and transparent objects. * * Uses physically-based transmission for realistic refraction and * light transport through transparent materials. * * Use this for: * - Glass objects (windows, bottles, lenses) * - Water and liquids * - Gemstones and crystals * - Any transparent/translucent surface * * @example * ```tsx * // Clear glass * * * * * // Frosted glass * * * * * // Colored glass (wine bottle green) * * * * ``` */ export declare function TransmissionMaterial({ color, opacity, transparent, wireframe, side, map, mapRepeat, metalness, roughness, transmission, thickness, ior, clearcoat, clearcoatRoughness, attenuationColor, attenuationDistance, emissive, emissiveIntensity, flatShading, }: TransmissionMaterialProps): import("react/jsx-runtime").JSX.Element;