import react__default from 'react'; /** * Theming props for the Social Widget. * These map to CSS custom properties used internally. */ interface SocialThemingProps { /** Container background color */ socialBackgroundColor?: string; /** Primary text color */ socialTextColor?: string; /** Secondary text color */ socialSecondaryTextColor?: string; /** Border color */ socialBorderColor?: string; /** Container border radius */ socialBorderRadius?: string; /** Container padding */ socialPadding?: string; /** Container box shadow */ socialShadow?: string; /** Primary accent color */ socialPrimaryColor?: string; /** Primary hover color */ socialPrimaryHover?: string; /** Card background */ socialCardBg?: string; /** Card border */ socialCardBorder?: string; /** Card border radius */ socialCardRadius?: string; /** Card box shadow */ socialCardShadow?: string; /** Card hover shadow */ socialCardHoverShadow?: string; /** Avatar size */ socialAvatarSize?: string; /** Avatar border radius */ socialAvatarRadius?: string; /** Avatar border */ socialAvatarBorder?: string; /** Post background */ socialPostBg?: string; /** Post border radius */ socialPostBorderRadius?: string; /** Post padding */ socialPostPadding?: string; /** Grid gap */ socialGridGap?: string; /** Grid item border radius */ socialGridRadius?: string; /** Grid overlay background */ socialGridOverlayBg?: string; /** Grid hover scale */ socialGridHoverScale?: string; /** Image border radius */ socialImageRadius?: string; /** Image border */ socialImageBorder?: string; /** Button background */ socialButtonBg?: string; /** Button hover background */ socialButtonHoverBg?: string; /** Button text color */ socialButtonColor?: string; /** Button border radius */ socialButtonRadius?: string; /** Action button background */ socialActionBg?: string; /** Action button hover background */ socialActionHoverBg?: string; /** Action button active background */ socialActionActiveBg?: string; /** Action button active text color */ socialActionActiveColor?: string; /** Action button border radius */ socialActionRadius?: string; /** Action icon size */ socialActionSize?: string; /** Like color */ socialLikeColor?: string; /** Like active background */ socialLikeActiveBg?: string; /** Comment background */ socialCommentBg?: string; /** Comment border */ socialCommentBorder?: string; /** Comment border radius */ socialCommentRadius?: string; /** Font family */ socialFontFamily?: string; /** Username font size */ socialUsernameSize?: string; /** Username font weight */ socialUsernameWeight?: string; /** Timestamp font size */ socialTimestampSize?: string; /** Body text font size */ socialBodySize?: string; /** Meta text font size */ socialMetaSize?: string; /** Divider color */ socialDividerColor?: string; /** Create post card background */ socialCreateCardBg?: string; /** Create post card border */ socialCreateCardBorder?: string; /** Empty state icon color */ socialEmptyIconColor?: string; /** Empty state text color */ socialEmptyTextColor?: string; /** Transition duration */ socialTransitionDuration?: string; /** Hover scale factor */ socialHoverScale?: string; /** Loader spinner color */ socialLoaderColor?: string; } /** * Core configuration props for the Social Widget. */ interface SocialWidgetProps extends SocialThemingProps { /** Base URL of the Legion application (required) */ baseUrl: string; /** JWT auth token for authenticated features */ authToken?: string; /** Theme preset. Default: "light" */ theme?: "light" | "dark"; /** Layout mode. Default: "feed" */ layout?: "feed" | "grid"; /** Number of grid rows (grid layout only). Default: 3 */ rows?: number; /** Number of grid columns (grid layout only). Default: 3 */ cols?: number; /** URL for community page click-throughs (grid layout) */ communityUrl?: string; /** Channel filter for social feed/grid */ channel?: string; /** Widget width CSS value. Default: "600px" */ width?: string; /** Widget height CSS value. Default: "800px" */ height?: string; /** Additional CSS class name for the container */ className?: string; /** Additional inline styles for the container */ style?: React.CSSProperties; /** Callback when the widget iframe has loaded */ onLoad?: (detail: { widget: string; layout: string; theme: string; }) => void; /** Callback when the widget iframe fails to load */ onError?: (message: string) => void; } /** * Mapping from camelCase theming prop names to the kebab-case query * parameter names used by the social widget iframe URL. */ declare const SOCIAL_THEMING_PROP_TO_PARAM: Record; /** * Ref handle exposed by LegionSocial for imperative control. */ interface LegionSocialHandle { /** Reload the widget iframe */ refresh: () => void; } /** * Build the iframe src URL from widget props. */ declare function buildSocialWidgetUrl(props: SocialWidgetProps): string; /** * LegionSocial – a React component that embeds the Legion Social widget * via an iframe. * * @example * ```tsx * import { LegionSocial } from '@legionhandtech/lht-react-widgets'; * * function App() { * return ( * * ); * } * ``` */ declare const LegionSocial: react__default.ForwardRefExoticComponent>; export { LegionSocial, type LegionSocialHandle, SOCIAL_THEMING_PROP_TO_PARAM, type SocialThemingProps, type SocialWidgetProps, buildSocialWidgetUrl };