import * as THREE from 'three'; import type { FrameContext } from '../types.js'; /** Options for {@link createHolographicMaterial}: base color, fresnel rim strength, scanline density, and opacity. */ export interface HolographicMaterialOptions { baseColor?: THREE.ColorRepresentation; fresnelStrength?: number; scanlineDensity?: number; opacity?: number; } /** A `ShaderMaterial` carrying a `userData.tick(ctx)` that advances its time uniform — register it on the frame loop. */ export interface TickableMaterial extends THREE.ShaderMaterial { userData: { tick: (ctx: FrameContext) => void; }; } /** * Sci-fi hologram `ShaderMaterial`: fresnel rim glow, animated scanlines, and * noise-flicker opacity, additively blended and double-sided. * * @param options - Color and effect tuning. * @returns A {@link TickableMaterial}; call `material.userData.tick(ctx)` * each frame (or register it with the loop) to animate. */ export declare function createHolographicMaterial({ baseColor, fresnelStrength, scanlineDensity, opacity, }?: HolographicMaterialOptions): TickableMaterial; //# sourceMappingURL=holographic-material.d.ts.map