import { type CSSProperties, type HTMLAttributes, type ReactNode, type Ref } from 'react';
import { type CssLength } from '../../../utils/css';
export type CanvasFractalGridPerformance = 'low' | 'medium' | 'high';
export type CanvasFractalGridGradientStop = {
color: string;
position: number;
};
export type CanvasFractalGridGradient = {
centerX: number;
centerY: number;
stops: CanvasFractalGridGradientStop[];
};
export type CanvasFractalGridProps = Omit, 'children' | 'color'> & {
background?: CSSProperties['background'];
canvasClassName?: string;
canvasRef?: Ref;
canvasStyle?: CSSProperties;
children?: ReactNode;
contentClassName?: string;
disabled?: boolean;
dotColor?: CSSProperties['color'];
dotOpacity?: number;
dotSize?: number;
dotSpacing?: number;
enableGradient?: boolean;
enableMouseGlow?: boolean;
enableNoise?: boolean;
fps?: number;
gradientAnimationDuration?: number;
gradients?: readonly CanvasFractalGridGradient[];
glowColor?: CSSProperties['color'];
height?: CssLength;
initialPerformance?: CanvasFractalGridPerformance;
maxDevicePixelRatio?: number;
minHeight?: CssLength;
mouseTrackingDamping?: number;
mouseTrackingStiffness?: number;
noiseOpacity?: number;
onFallback?: () => void;
onReady?: () => void;
paused?: boolean;
ref?: Ref;
respectReducedMotion?: boolean;
waveIntensity?: number;
waveRadius?: number;
width?: CssLength;
};
export declare const CanvasFractalGrid: ({ background, canvasClassName, canvasRef, canvasStyle, children, className, contentClassName, disabled, dotColor, dotOpacity, dotSize, dotSpacing, enableGradient, enableMouseGlow, enableNoise, fps, gradientAnimationDuration, gradients, glowColor, height, initialPerformance, maxDevicePixelRatio, minHeight, mouseTrackingDamping, mouseTrackingStiffness, noiseOpacity, onFallback, onPointerMove, onReady, paused, ref, respectReducedMotion, style, waveIntensity, waveRadius, width, ...props }: CanvasFractalGridProps) => import("react/jsx-runtime").JSX.Element;