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;