interface ExpressionWheelSlot { /** Pre-resolved icon URL. Omit to render a `—` placeholder in the slot. */ iconUrl?: string; } interface ExpressionWheelProps { /** Slots around the wheel, in display order starting from the top-slice clockwise. */ slots: ExpressionWheelSlot[]; /** Overall wheel size (width = height). Defaults to 240. */ size?: number; /** Tap handler — receives the slot index. Omit to render read-only. */ onSlotPress?: (index: number) => void; /** Swap every slot icon for a skeleton placeholder. */ isLoading?: boolean; /** Extra classes merged onto the outer wrapper. */ className?: string; } /** * Spray / flex expression wheel used on the customize screen — a four- * (or more) slice donut, each slice holding an equipped expression icon * that opens the picker when tapped. * * Data-free: the consumer resolves each slot's icon URL in display order * (top-clockwise) and handles the route / picker launch in `onSlotPress`. * Empty slots render a `—` placeholder. The SVG uses the `svg-shim` so * it renders identically under Vite storybook and React Native. */ declare function ExpressionWheel({ slots, size, onSlotPress, isLoading, className, }: ExpressionWheelProps): import("react/jsx-runtime").JSX.Element; export { ExpressionWheel }; export type { ExpressionWheelProps, ExpressionWheelSlot }; //# sourceMappingURL=expression-wheel.d.ts.map