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<string, {
        sectionName: string;
        selectedSize: string;
        selectedLength?: string;
        displayLabel: string;
    }>;
    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 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<HTMLImageElement>) => void;
    profileCompletionCta?: ReactNode;
    t: TranslateFn;
}
export declare function MultiSectionMobile({ productImage, productTitle, sizingResult, sizeGuide, sectionEntries, pendingCustomSizes, onSelectSection, onTryOn, tryOnProcessing, tryOnStartedAt, resultImageUrl, tryOnDone, onTryAgain, onClose, resultActionNode, overlayNode, showLines, onToggleLines, onOpenImage, onDownload, imageActionBar, feedbackSlot, onImageLoad, profileCompletionCta, t, }: MultiSectionMobileProps): import("react/jsx-runtime").JSX.Element;
