import * as react from 'react'; /** * Theming props for the Profile Edit Widget. * These map to CSS custom properties used internally. */ interface ProfileEditThemingProps { /** Container background color */ profileEditBackgroundColor?: string; /** Primary text color */ profileEditTextColor?: string; /** Secondary text color */ profileEditSecondaryTextColor?: string; /** Border color */ profileEditBorderColor?: string; /** Container border radius, e.g. "12px" */ profileEditBorderRadius?: string; /** Container padding */ profileEditPadding?: string; /** Container box shadow */ profileEditShadow?: string; /** Primary accent color */ profileEditPrimaryColor?: string; /** Primary hover color */ profileEditPrimaryHover?: string; /** Accent color */ profileEditAccentColor?: string; /** Card background */ profileEditCardBg?: string; /** Card border */ profileEditCardBorder?: string; /** Card border radius */ profileEditCardRadius?: string; /** Card box shadow */ profileEditCardShadow?: string; /** Card padding */ profileEditCardPadding?: string; /** Avatar size, e.g. "80px" */ profileEditAvatarSize?: string; /** Avatar border radius */ profileEditAvatarRadius?: string; /** Avatar border */ profileEditAvatarBorder?: string; /** Avatar box shadow */ profileEditAvatarShadow?: string; /** Button background */ profileEditButtonBg?: string; /** Button hover background */ profileEditButtonHoverBg?: string; /** Button text color */ profileEditButtonColor?: string; /** Button border radius */ profileEditButtonRadius?: string; /** Secondary button background */ profileEditButtonSecondaryBg?: string; /** Secondary button text color */ profileEditButtonSecondaryColor?: string; /** Input background */ profileEditInputBg?: string; /** Input border */ profileEditInputBorder?: string; /** Input focus border color */ profileEditInputFocusBorder?: string; /** Input border radius */ profileEditInputRadius?: string; /** Input text color */ profileEditInputText?: string; /** Input placeholder color */ profileEditInputPlaceholder?: string; /** Font family */ profileEditFontFamily?: string; /** Name font size */ profileEditNameSize?: string; /** Name font weight */ profileEditNameWeight?: string; /** Label font size */ profileEditLabelSize?: string; /** Divider color */ profileEditDividerColor?: string; /** Transition duration, e.g. "0.2s" */ profileEditTransitionDuration?: string; } /** * Core configuration props for the Profile Edit Widget. */ interface ProfileEditWidgetProps extends ProfileEditThemingProps { /** Base URL of the Legion application (required) */ baseUrl: string; /** JWT auth token for authenticated profile editing */ authToken?: string; /** Theme preset. Default: "light" */ theme?: "light" | "dark"; /** 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; 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 profile-edit widget iframe URL. */ declare const PROFILE_EDIT_THEMING_PROP_TO_PARAM: Record; /** * Ref handle exposed by LegionProfileEdit for imperative control. */ interface LegionProfileEditHandle { /** Reload the widget iframe */ refresh: () => void; } /** * Build the iframe src URL from widget props. */ declare function buildProfileEditWidgetUrl(props: ProfileEditWidgetProps): string; /** * LegionProfileEdit – a React component that embeds the Legion Profile Edit * widget via an iframe. * * @example * ```tsx * import { LegionProfileEdit } from '@legionhandtech/lht-react-widgets'; * * function App() { * return ( * * ); * } * ``` */ declare const LegionProfileEdit: react.ForwardRefExoticComponent>; export { LegionProfileEdit, type LegionProfileEditHandle, PROFILE_EDIT_THEMING_PROP_TO_PARAM, type ProfileEditThemingProps, type ProfileEditWidgetProps, buildProfileEditWidgetUrl };