import { type CSSProperties, type HTMLAttributes } from 'react';
import { type CssLength } from '../../../utils/css';
import { type LightBoardSize as LightBoardSizeValue } from './LightBoard.constants';
export type PatternCell = '0' | '1' | '2' | '3';
export type LightBoardFont = 'default' | '7segment';
export type LightBoardColors = {
background: string;
drawLine: string;
surface: string;
textBright: string;
textDim: string;
};
export type LightBoardProps = Omit, 'children'> & {
ariaLabel?: string;
canvasClassName?: string;
canvasStyle?: CSSProperties;
colors?: Partial;
controlledDrawState?: PatternCell;
controlledHoverState?: boolean;
decorative?: boolean;
disableDrawing?: boolean;
drawState?: PatternCell;
font?: LightBoardFont;
gap?: number;
lightSize?: number;
maxDevicePixelRatio?: number;
minHeight?: CssLength;
onDrawStateChange?: (newState: PatternCell) => void;
onHoverStateChange?: (isHovered: boolean) => void;
pauseOnHover?: boolean;
paused?: boolean;
respectReducedMotion?: boolean;
rows?: number;
size?: LightBoardSizeValue;
text?: string;
updateInterval?: number;
width?: CssLength;
};
export declare const LightBoard: ({ ariaLabel, canvasClassName, canvasStyle, className, colors, controlledDrawState, controlledHoverState, decorative, disableDrawing, drawState, font, gap, lightSize, maxDevicePixelRatio, minHeight, onDrawStateChange, onHoverStateChange, onPointerEnter, onPointerLeave, paused, pauseOnHover, respectReducedMotion, rows, size, style, text, updateInterval, width, ...props }: LightBoardProps) => import("react/jsx-runtime").JSX.Element;