import * as react from 'react'; /** * Theming props for the Points History Widget. * These map 1:1 to the camelCase URL query params the host page reads. */ interface PointsHistoryThemingProps { /** Header row background color */ pointsHistoryHeaderBg?: string; /** Header row text color */ pointsHistoryHeaderTextColor?: string; /** Alternate row background color (zebra striping) */ pointsHistoryAltRowBg?: string; /** Body text color */ pointsHistoryTextColor?: string; /** Row border color */ pointsHistoryBorderColor?: string; /** Active page button background color */ pointsHistoryPaginationActiveBg?: string; /** Active page button text color */ pointsHistoryPaginationActiveColor?: string; /** Container font family */ pointsHistoryFontFamily?: string; /** Title font size, e.g. "24px" */ pointsHistoryTitleSize?: string; /** Cell font size, e.g. "14px" */ pointsHistoryCellSize?: string; } /** * Core configuration props for the Points History Widget. */ interface PointsHistoryWidgetProps extends PointsHistoryThemingProps { /** Base URL of the Legion application (required) */ baseUrl: string; /** JWT auth token (sent via postMessage, never via URL) */ authToken?: string; /** Theme preset. Default: "light" */ theme?: "light" | "dark"; /** * Show a close (✕) button that emits a `CLOSE_WIDGET` postMessage to the * parent window when clicked. Default: false. */ showClose?: boolean; /** Widget width CSS value. Default: "100%" */ width?: string; /** Widget height CSS value. Default: "600px" */ 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; theme: string; }) => void; /** Callback when the widget iframe fails to load */ onError?: (message: string) => void; } /** * Mapping from camelCase theming prop names to the camelCase query * parameter names the host points-history page reads from * `useSearchParams()`. */ declare const POINTS_HISTORY_THEMING_PROP_TO_PARAM: Record; /** * Ref handle exposed by LegionPointsHistory for imperative control. */ interface LegionPointsHistoryHandle { /** Reload the widget iframe */ refresh: () => void; } /** * Build the iframe src URL from widget props. */ declare function buildPointsHistoryWidgetUrl(props: PointsHistoryWidgetProps): string; /** * LegionPointsHistory – a React component that embeds the Legion * Points History widget via an iframe. * * @example * ```tsx * import { LegionPointsHistory } from '@legionhandtech/lht-react-widgets'; * * function App() { * return ( * * ); * } * ``` */ declare const LegionPointsHistory: react.ForwardRefExoticComponent>; export { LegionPointsHistory, type LegionPointsHistoryHandle, POINTS_HISTORY_THEMING_PROP_TO_PARAM, type PointsHistoryThemingProps, type PointsHistoryWidgetProps, buildPointsHistoryWidgetUrl };