import type { TranslateFn } from "../../i18n";
import type { FaceLandmarks } from "../../face-detect";
import type { BodyLandmarks } from "../../pose-detect";
type MeasurementType = "body" | "face" | "head" | "foot" | "wrist";
interface MobileScanningViewProps {
    /** User's photo URL for snap mode. Omit for text-mode sizing — the
     *  product image is shown instead and the MediaPipe skeleton overlay
     *  is suppressed. */
    previewUrl?: string;
    /** Falls back to this image when previewUrl is not provided */
    productImage?: string;
    bodyLandmarks: BodyLandmarks | null | undefined;
    faceLandmarks?: FaceLandmarks | null | undefined;
    measurementType?: MeasurementType;
    sizingDone: boolean;
    /** True while VTO is running — swaps to the engaging try-on UI
     *  (progress ring + WHILE YOU WAIT cards) instead of the cycling
     *  sizing stages. */
    tryOnProcessing?: boolean;
    /** Garment material — drives the "Garment Spotlight" card during try-on. */
    productMaterial?: string;
    /** Garment description — fallback for "Garment Spotlight" when material is empty. */
    productDescription?: string;
    /** Optional cancel handler shown as a text link under the cards. */
    onCancelTryOn?: () => void;
    /** No longer rendered (tabs removed mid-scan), kept for backwards-compat
     *  with the photo-step caller that passes it down. */
    onSwitchToManual?: () => void;
    t: TranslateFn;
}
export declare function MobileScanningView({ previewUrl, productImage, bodyLandmarks, faceLandmarks, measurementType, sizingDone, tryOnProcessing, productMaterial, productDescription, onCancelTryOn, t, }: MobileScanningViewProps): import("react/jsx-runtime").JSX.Element;
export {};
