/** * Pure HTML+CSS lucky wheel component. * Uses conic-gradient for segment colors, absolute positioned labels, * border for outer ring, and rotated divs for radius lines. */ import React from "react"; export interface WheelPrize { option: string; style?: { backgroundColor?: string; textColor?: string; }; } export interface WheelComponentProps { /** Size of the wheel in pixels */ containerSize: string; /** Array of prize segments */ prizes: WheelPrize[]; /** Outer border width in px */ outerBorderWidth?: number; /** Outer border color */ outerBorderColor?: string; /** Radius line width in px */ radiusLineWidth?: number; /** Radius line color */ radiusLineColor?: string; /** Font size in px */ fontSize?: number; /** Center dot size in px */ centerDotSize?: number; /** Center dot color */ centerDotColor?: string; /** Pointer (indicator arrow) color */ pointerColor?: string; /** Extra rotation applied to the wheel disc (degrees) */ rotation?: number; /** CSS class name for the wheel disc (used by dom2Svg overwrite) */ discClassName?: string; /** When set, show a larger center circle with this text (e.g. "Click To Play") */ centerButtonText?: string; /** Center button background color when centerButtonText is set */ centerButtonBackgroundColor?: string; /** Center button text color when centerButtonText is set */ centerButtonTextColor?: string; /** Center button outer border color when centerButtonText is set */ centerButtonBorderColor?: string; /** Center button outer border width in px when centerButtonText is set */ centerButtonBorderWidth?: number; /** Preview state: 0 = default, 1 = spinning, 2 = win. Controls center text and data-index. */ stateIndex?: 0 | 1 | 2; /** Text shown on main button while spinning (state 1) */ stopButtonText?: string; /** Center button text after spin / on win (state 2) */ centerButtonResultText?: string; /** Center button text on the wheel while spinning (state 1); falls back to stopButtonText */ centerButtonSpinningText?: string; } export declare const WheelComponent: React.FC;