import * as react from 'react'; /** * Theming props for the Community Header Widget. * These map to CSS custom properties used internally. */ interface CommunityHeaderThemingProps { /** Primary color */ headerPrimaryColor?: string; /** Container background color */ headerBackgroundColor?: string; /** Primary text color */ headerTextColor?: string; /** Secondary text color */ headerSecondaryTextColor?: string; /** Border color */ headerBorderColor?: string; /** Search input background */ headerSearchBg?: string; /** Search input border */ headerSearchBorder?: string; /** Search input border radius */ headerSearchRadius?: string; /** Stat card background */ headerStatBg?: string; /** Stat card border radius */ headerStatRadius?: string; /** Font family */ headerFontFamily?: string; /** Title font size */ headerTitleSize?: string; /** Title font weight */ headerTitleWeight?: string; /** Stat value font size */ headerStatSize?: string; /** Stat label font size */ headerStatLabelSize?: string; /** Container padding */ headerPadding?: string; /** Gap between elements */ headerGap?: string; /** Transition duration */ headerTransitionDuration?: string; } /** * Core configuration props for the Community Header Widget. */ interface CommunityHeaderWidgetProps extends CommunityHeaderThemingProps { /** Base URL of the Legion application (required) */ baseUrl: string; /** Community title. Default: "Community" */ title?: string; /** Show search bar. Default: true */ showSearch?: boolean; /** Show stats section. Default: true */ showStats?: boolean; /** Show online count. Default: true */ showOnline?: boolean; /** Community URL prefix */ communityUrl?: string; /** Theme preset. Default: "light" */ theme?: "light" | "dark"; /** Widget height CSS value. Default: "auto" */ height?: string; /** Widget width CSS value. Default: "100%" */ width?: 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; theme: string; }) => void; /** Callback when the widget iframe fails to load */ onError?: (message: string) => void; } /** * Mapping from camelCase theming prop names to kebab-case query params. */ declare const HEADER_THEMING_PROP_TO_PARAM: Record; /** * Ref handle exposed by LegionCommunityHeader for imperative control. */ interface LegionCommunityHeaderHandle { /** Reload the widget iframe */ refresh: () => void; } /** * Build the iframe src URL from widget props. */ declare function buildCommunityHeaderWidgetUrl(props: CommunityHeaderWidgetProps): string; /** * LegionCommunityHeader – a React component that embeds the Legion * Community Header widget via an iframe. */ declare const LegionCommunityHeader: react.ForwardRefExoticComponent>; export { type CommunityHeaderThemingProps, type CommunityHeaderWidgetProps, HEADER_THEMING_PROP_TO_PARAM, LegionCommunityHeader, type LegionCommunityHeaderHandle, buildCommunityHeaderWidgetUrl };