import { type ReactNode } from "react"; import type { TranslateFn } from "../../i18n"; import type { SizingResult, SizeGuide } from "../types"; export interface MultiSectionMobileProps { productImage: string; productTitle: string; sizingResult: SizingResult; sizeGuide: SizeGuide | null; sectionEntries: Array<{ name: string; secResult: { recommendedSize: string; }; }>; /** Per-section overrides (user's picks). When a section has an override, * that card shows the user's label + "YOUR SELECTION" state instead of * the backend recommendation. */ pendingCustomSizes?: Record; onSelectSection: (name: string) => void; onTryOn: () => void; tryOnProcessing?: boolean; /** Epoch ms timestamp the try-on request started — drives the * TryOnGenerationBadge's progress + ETA copy. */ tryOnStartedAt?: number | null; /** When set, the image area shows the try-on result instead of productImage. */ resultImageUrl?: string | null; /** Try-on has finished and result is ready. Switches the bottom CTA into * "Try Again" + "Done" mode. */ tryOnDone?: boolean; /** Reset try-on state and reopen the photo guide for another attempt. */ onTryAgain?: () => void; /** Close the SDK / continue shopping. */ onClose?: () => void; /** Optional bottom CTA group for history/current product commerce actions. */ resultActionNode?: ReactNode; /** Optional demo/catalog recommendation panel rendered under the size cards. */ outfitRecommendationNode?: ReactNode; /** Optional measurement-line overlay to render on top of the result image * (mediapipe toggle). Only displayed when `showLines` is true. */ overlayNode?: ReactNode; /** Whether the mediapipe lines toggle is currently on. */ showLines?: boolean; /** Toggle the mediapipe lines overlay. */ onToggleLines?: () => void; /** Open the generated try-on image in the full-size preview. */ onOpenImage?: () => void; /** Download the generated try-on image. */ onDownload?: () => void; /** Action row rendered above the result image (show fit/full size/download). */ imageActionBar?: ReactNode; /** Rating widget rendered over the lower-left of the result image. */ feedbackSlot?: ReactNode; /** Bubble image natural dimensions up to the parent (for the overlay sizing). */ onImageLoad?: (e: React.SyntheticEvent) => void; profileCompletionCta?: ReactNode; t: TranslateFn; } export declare function MultiSectionMobile({ productImage, productTitle, sizingResult, sizeGuide, sectionEntries, pendingCustomSizes, onSelectSection, onTryOn, tryOnProcessing, tryOnStartedAt, resultImageUrl, tryOnDone, onTryAgain, onClose, resultActionNode, outfitRecommendationNode, overlayNode, showLines, onToggleLines, onOpenImage, onDownload, imageActionBar, feedbackSlot, onImageLoad, profileCompletionCta, t, }: MultiSectionMobileProps): import("react/jsx-runtime").JSX.Element;