import type { TranslateFn } from "../../i18n";
import type { ViewState } from "../types";
export interface AccessoryField {
    key: string;
    label: string;
    placeholder: {
        cm: string;
        in: string;
    };
    hint?: string;
    min?: number;
    max?: number;
    step?: number;
    /** If provided, this image replaces the product image when the field is focused */
    guideImage?: string;
}
interface Props {
    title: string;
    fields: AccessoryField[];
    /** Unit options: first = metric-ish (cm/mm), second = imperial (in) */
    unitOptions?: [{
        label: string;
        value: string;
    }, {
        label: string;
        value: string;
    }];
    /** "close-up" swaps the photo step copy to face/head photo guidance */
    photoVariant?: "full-body" | "close-up";
    /** When true, hides the photo upload CTA entirely — manual entry only */
    disablePhotoUpload?: boolean;
    productImage: string;
    productTitle: string;
    formRef: React.MutableRefObject<Record<string, string>>;
    sizingUnit: string;
    setSizingUnit: (u: string) => void;
    setSizingMethod: (m: "exact" | "quick" | null) => void;
    setSizingLoading: (v: boolean) => void;
    setView: (v: ViewState) => void;
    submitSizing: (mode: "exact" | "quick") => void;
    onSnapSubmit: (data: {
        photoFile: File;
        photoBase64: string;
        height: number;
        weight: number;
        heightUnit: string;
        weightUnit: string;
        gender: string;
        age?: number;
        extraMeasurements?: Record<string, string | number>;
    }) => void;
    onBack: () => void;
    /** Backend URL + API key — required for the pre-upload age check.
     *  Without these the age-check is skipped (fail-open). */
    apiUrl?: string;
    apiKey?: string;
    t: TranslateFn;
}
export declare function AccessorySizeView({ title, fields, unitOptions, photoVariant, disablePhotoUpload, productImage, productTitle, formRef, sizingUnit, setSizingUnit, setSizingMethod, setSizingLoading, setView, submitSizing, onSnapSubmit, onBack, apiUrl, apiKey, t, }: Props): import("react/jsx-runtime").JSX.Element;
export {};
