import * as react from 'react'; /** * Type definitions for static (RSC-compatible) icons */ /** * Props for static icon components * * These icons render as pure SVG elements without any client-side * JavaScript, making them compatible with React Server Components. */ interface StaticIconProps { /** * Size of the icon in pixels * @default 24 */ size?: number; /** * Stroke width for SVG paths * @default 2 */ strokeWidth?: number; /** * Additional CSS classes to apply to the icon */ className?: string; /** * CSS animation class to apply (for CSS-only animations) * @example 'motionicon-scale', 'motionicon-bounce' */ animationClass?: string; /** * Accessible label for the icon * When provided, sets role="img" and aria-label * When omitted, icon is treated as decorative with aria-hidden="true" */ 'aria-label'?: string; /** * Custom color for the icon stroke * @default 'currentColor' */ color?: string; /** * Additional SVG attributes to pass through */ style?: React.CSSProperties; } /** * Static icon component type */ type StaticIconComponent = React.FC; /** * Factory function to create static (RSC-compatible) icon components * * Static icons are pure SVG components with zero client-side JavaScript. * They can be used in React Server Components without "use client". */ /** * SVG path data for creating static icons */ interface IconPathData { /** * SVG path elements (d attribute values or element definitions) */ paths: react.ReactNode; /** * Optional viewBox (defaults to "0 0 24 24") */ viewBox?: string; } /** * Create a static icon component from SVG path data * * The resulting component is RSC-compatible and can be used * in Server Components without any client-side JavaScript. * * @param name - Display name for the component * @param pathData - SVG path data * @returns A static icon component * * @example * ```tsx * const StaticCheckIcon = createStaticIcon('StaticCheck', { * paths: ( * <> * * * ) * }); * * // Use in a Server Component (no "use client" needed) * export default function Page() { * return ; * } * ``` */ declare function createStaticIcon(name: string, pathData: IconPathData): react.FC; /** * Higher-order function to create a static version of an animated icon * * This is useful for creating static variants of existing icons * while maintaining the same SVG structure. * * @param AnimatedIcon - The animated icon component to create a static version of * @param name - Display name for the static component * @returns A static icon component with the same SVG content */ declare function withStatic

(StaticIconComponent: react.FC

, name: string): react.FC; declare const StaticCheck: react.FC; declare const StaticX: react.FC; declare const StaticPlus: react.FC; declare const StaticMinus: react.FC; declare const StaticArrowLeft: react.FC; declare const StaticArrowRight: react.FC; declare const StaticChevronDown: react.FC; declare const StaticChevronUp: react.FC; declare const StaticMenu: react.FC; declare const StaticHome: react.FC; declare const StaticMail: react.FC; declare const StaticBell: react.FC; declare const StaticMessageCircle: react.FC; declare const StaticPhone: react.FC; declare const StaticCheckCircle: react.FC; declare const StaticXCircle: react.FC; declare const StaticAlertCircle: react.FC; declare const StaticInfo: react.FC; declare const StaticHelpCircle: react.FC; declare const StaticSearch: react.FC; declare const StaticSettings: react.FC; declare const StaticEdit: react.FC; declare const StaticTrash: react.FC; declare const StaticDownload: react.FC; declare const StaticUpload: react.FC; declare const StaticCopy: react.FC; declare const StaticShare: react.FC; declare const StaticHeart: react.FC; declare const StaticStar: react.FC; declare const StaticThumbsUp: react.FC; declare const StaticThumbsDown: react.FC; declare const StaticEye: react.FC; declare const StaticEyeOff: react.FC; declare const StaticUser: react.FC; declare const StaticUsers: react.FC; declare const StaticLock: react.FC; declare const StaticLoader: react.FC; declare const StaticRefresh: react.FC; declare const StaticClock: react.FC; declare const StaticCalendar: react.FC; export { type IconPathData, StaticAlertCircle, StaticArrowLeft, StaticArrowRight, StaticBell, StaticCalendar, StaticCheck, StaticCheckCircle, StaticChevronDown, StaticChevronUp, StaticClock, StaticCopy, StaticDownload, StaticEdit, StaticEye, StaticEyeOff, StaticHeart, StaticHelpCircle, StaticHome, type StaticIconComponent, type StaticIconProps, StaticInfo, StaticLoader, StaticLock, StaticMail, StaticMenu, StaticMessageCircle, StaticMinus, StaticPhone, StaticPlus, StaticRefresh, StaticSearch, StaticSettings, StaticShare, StaticStar, StaticThumbsDown, StaticThumbsUp, StaticTrash, StaticUpload, StaticUser, StaticUsers, StaticX, StaticXCircle, createStaticIcon, withStatic };