import * as react from 'react'; /** * Theming props for the Community Sidebar Widget. * These map to CSS custom properties used internally. */ interface CommunitySidebarThemingProps { /** Primary color */ sidebarPrimaryColor?: string; /** Container background color */ sidebarBackgroundColor?: string; /** Primary text color */ sidebarTextColor?: string; /** Secondary text color */ sidebarSecondaryTextColor?: string; /** Border color */ sidebarBorderColor?: string; /** Card background */ sidebarCardBg?: string; /** Card border radius */ sidebarCardRadius?: string; /** Card box shadow */ sidebarCardShadow?: string; /** Link color */ sidebarLinkColor?: string; /** Link hover color */ sidebarLinkHoverColor?: string; /** Icon color */ sidebarIconColor?: string; /** Section border radius */ sidebarSectionRadius?: string; /** Section background */ sidebarSectionBg?: string; /** Font family */ sidebarFontFamily?: string; /** Title font size */ sidebarTitleSize?: string; /** Title font weight */ sidebarTitleWeight?: string; /** Link font size */ sidebarLinkSize?: string; /** Container padding */ sidebarPadding?: string; /** Gap between elements */ sidebarGap?: string; /** Transition duration */ sidebarTransitionDuration?: string; } /** * Core configuration props for the Community Sidebar Widget. */ interface CommunitySidebarWidgetProps extends CommunitySidebarThemingProps { /** Base URL of the Legion application (required) */ baseUrl: string; /** Sidebar title. Default: "Getting Started" */ title?: string; /** Show community guidelines link. Default: true */ showGuidelines?: boolean; /** Show FAQs link. Default: true */ showFaqs?: boolean; /** Show tutorials link. Default: true */ showTutorials?: boolean; /** Show search links section. Default: true */ showSearchLinks?: boolean; /** Community URL prefix. Default: "/community" */ communityUrl?: string; /** Guidelines page URL. Default: "/guidelines" */ guidelinesUrl?: string; /** FAQs page URL. Default: "/faqs" */ faqsUrl?: 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 SIDEBAR_THEMING_PROP_TO_PARAM: Record; /** * Ref handle exposed by LegionCommunitySidebar for imperative control. */ interface LegionCommunitySidebarHandle { /** Reload the widget iframe */ refresh: () => void; } /** * Build the iframe src URL from widget props. */ declare function buildCommunitySidebarWidgetUrl(props: CommunitySidebarWidgetProps): string; /** * LegionCommunitySidebar – a React component that embeds the Legion * Community Sidebar widget via an iframe. */ declare const LegionCommunitySidebar: react.ForwardRefExoticComponent>; export { type CommunitySidebarThemingProps, type CommunitySidebarWidgetProps, LegionCommunitySidebar, type LegionCommunitySidebarHandle, SIDEBAR_THEMING_PROP_TO_PARAM, buildCommunitySidebarWidgetUrl };