import { type CSSProperties, type HTMLAttributes, type Ref } from 'react';
export type MatrixRainSwitchOptions = {
iterations?: number;
onComplete?: (word: string) => void;
};
export type MatrixRainHandle = {
play: () => void;
pause: () => void;
reset: () => void;
setWord: (word: string) => void;
switchWord: (word: string, options?: MatrixRainSwitchOptions) => void;
};
export type MatrixRainProps = Omit, 'children'> & {
/** Text drawn into the center row of the matrix. */
word?: string;
/** Keep streams running behind the word. */
active?: boolean;
paused?: boolean;
disabled?: boolean;
animateWordChanges?: boolean;
transitionIterations?: number;
respectReducedMotion?: boolean;
fps?: number;
fontSize?: number;
fontFamily?: string;
glyphs?: string;
hue?: number;
background?: string;
color?: string;
lowAlpha?: number;
headLightness?: number;
trailLightness?: number;
maxDevicePixelRatio?: number;
canvasClassName?: string;
canvasStyle?: CSSProperties;
onTransitionComplete?: (word: string) => void;
ref?: Ref;
};
export declare const MatrixRain: ({ active, animateWordChanges, background, canvasClassName, canvasStyle, className, color, disabled, fontFamily, fontSize, fps, glyphs, headLightness, hue, lowAlpha, maxDevicePixelRatio, onTransitionComplete, paused, ref, respectReducedMotion, style, trailLightness, transitionIterations, word, ...props }: MatrixRainProps) => import("react/jsx-runtime").JSX.Element;