import react__default from 'react'; /** * Theming props for the Wallet Widget. * These map to CSS custom properties used internally. */ interface WalletThemingProps { /** Container background color */ walletBackgroundColor?: string; /** Primary text color */ walletTextColor?: string; /** Secondary text color */ walletSecondaryTextColor?: string; /** Border color */ walletBorderColor?: string; /** Container border radius */ walletBorderRadius?: string; /** Container padding */ walletPadding?: string; /** Container box shadow */ walletShadow?: string; /** Primary accent color */ walletPrimaryColor?: string; /** Primary hover color */ walletPrimaryHover?: string; /** Tab background */ walletTabBackground?: string; /** Active tab background */ walletTabActiveBackground?: string; /** Active tab text color */ walletTabActiveColor?: string; /** Tab border color */ walletTabBorderColor?: string; /** Tab border radius */ walletTabRadius?: string; /** Coupon gradient start */ walletCouponBgStart?: string; /** Coupon gradient end */ walletCouponBgEnd?: string; /** Coupon border color */ walletCouponBorderColor?: string; /** Coupon border radius */ walletCouponRadius?: string; /** Coupon box shadow */ walletCouponShadow?: string; /** Coupon hover shadow */ walletCouponHoverShadow?: string; /** Voucher gradient start */ walletVoucherBgStart?: string; /** Voucher gradient mid */ walletVoucherBgMid?: string; /** Voucher gradient end */ walletVoucherBgEnd?: string; /** Voucher accent gradient start */ walletVoucherAccentStart?: string; /** Voucher accent gradient mid */ walletVoucherAccentMid?: string; /** Voucher accent gradient end */ walletVoucherAccentEnd?: string; /** Voucher border color */ walletVoucherBorderColor?: string; /** Voucher border radius */ walletVoucherRadius?: string; /** Voucher box shadow */ walletVoucherShadow?: string; /** Font family */ walletFontFamily?: string; /** Title font size */ walletTitleSize?: string; /** Title font weight */ walletTitleWeight?: string; /** Body text font size */ walletBodySize?: string; /** Meta text font size */ walletMetaSize?: string; /** Active badge background */ walletBadgeActiveBg?: string; /** Active badge text color */ walletBadgeActiveColor?: string; /** Expired badge background */ walletBadgeExpiredBg?: string; /** Expired badge text color */ walletBadgeExpiredColor?: string; /** Redeemed badge background */ walletBadgeRedeemedBg?: string; /** Redeemed badge text color */ walletBadgeRedeemedColor?: string; /** Button border radius */ walletButtonRadius?: string; /** Button padding */ walletButtonPadding?: string; /** Progress bar background */ walletProgressBg?: string; /** Progress bar color */ walletProgressColor?: string; /** Progress bar warning color */ walletProgressWarningColor?: string; /** Transition duration */ walletTransitionDuration?: string; /** Hover scale factor */ walletHoverScale?: string; /** Empty state icon color */ walletEmptyIconColor?: string; /** Empty state text color */ walletEmptyTextColor?: string; } /** * Core configuration props for the Wallet Widget. */ interface WalletWidgetProps extends WalletThemingProps { /** Base URL of the Legion application (required) */ baseUrl: string; /** User ID (required) */ userId: string; /** API key for authentication */ apiKey?: string; /** Theme preset. Default: "light" */ theme?: "light" | "dark"; /** Show wallet balance. Default: true */ showBalance?: boolean; /** Show transaction history. Default: true */ showHistory?: boolean; /** Widget height CSS value. Default: "500px" */ 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 kebab-case query * parameter names used by the wallet widget iframe URL. */ declare const WALLET_THEMING_PROP_TO_PARAM: Record; /** * Ref handle exposed by LegionWallet for imperative control. */ interface LegionWalletHandle { /** Reload the widget iframe */ refresh: () => void; } /** * Build the iframe src URL from widget props. */ declare function buildWalletWidgetUrl(props: WalletWidgetProps): string; /** * LegionWallet – a React component that embeds the Legion Wallet widget * via an iframe. * * @example * ```tsx * import { LegionWallet } from '@legionhandtech/lht-react-widgets'; * * function App() { * return ( * * ); * } * ``` */ declare const LegionWallet: react__default.ForwardRefExoticComponent>; export { LegionWallet, type LegionWalletHandle, WALLET_THEMING_PROP_TO_PARAM, type WalletThemingProps, type WalletWidgetProps, buildWalletWidgetUrl };