import { GpuShaderDefinition } from '../../gpu/porters'; import { transformPosition, transformColor } from '../../utilities/transformations'; export interface ComponentProps { /** * Where the beam originates * * Accepts `{ x, y }` objects with values from 0 to 1, or CSS positions like `top center`. * @default {"x":0.18,"y":0.18} */ position: Parameters[0]; /** * Where the beam starts to fan out and split (projected onto the beam axis) * * Accepts `{ x, y }` objects with values from 0 to 1, or CSS positions like `top center`. * @default {"x":0.5,"y":0.42} */ splitPosition: Parameters[0]; /** * Thickness of the white beam * * @default 0.04 */ beamWidth: number; /** * How widely the rainbow diffuses as it travels past the split point * * @default 0.7 */ spread: number; /** * How quickly the white beam transitions into the rainbow * * @default 0.12 */ softness: number; /** * How softly the beam fades in at its source * * @default 0.15 */ startFalloff: number; /** * How quickly the rainbow fades out with distance * * @default 0.6 */ endFalloff: number; /** * Brightness (above 1 blows the core to white) * * @default 1.6 */ intensity: number; /** * Colour of the beam before it splits * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#ffffff" */ beamColor: Parameters[0]; /** * Rainbow saturation — 0 = white, 1 = full colour * * @default 0.95 */ saturation: number; /** * Speed the hue slowly rotates through the rainbow (0 = static) * * Accepts a number between -1 and 1. * @default 0.1 */ speed: number; } export declare const componentDefinition: GpuShaderDefinition; export default componentDefinition; //# sourceMappingURL=index.d.ts.map