import type { TranslateFn } from "../../i18n";
import type { Profile, ProfileCompletionDraft, ProfileMeasurements } from "../types";
interface MySizingProfilesViewProps {
    profiles: Profile[];
    activeProfileId: string | null;
    onSelectProfile: (id: string) => void;
    onEditProfile: (p: Profile) => void;
    onSaveNewProfile: (data: Omit<Profile, "id" | "createdAt">) => void;
    onSaveProfileMeasurements: (id: string, measurements: ProfileMeasurements, unit?: "cm" | "in") => void;
    onSaveBraSize?: (id: string, bandSize: string, cupSize: string) => void;
    onDeleteProfile?: (id: string) => void;
    /** Called when user clicks delete — parent owns the confirmation modal */
    onRequestDelete: (id: string) => void;
    onLogout: () => void;
    onClose: () => void;
    /** Forwarded to CreateProfileWizard for the pre-upload age check. */
    apiUrl?: string;
    apiKey?: string;
    /** Forwarded to CreateProfileWizard — called when a photo is selected or removed */
    onPhotoPreview?: (base64: string | null) => void;
    /** Draft saved from a size result before auth. Starts the photo profile flow after login. */
    initialCreateDraft?: ProfileCompletionDraft | null;
    onProfileDraftConsumed?: () => void;
    /** Forwarded to CreateProfileWizard — called during image path to estimate measurements */
    onEstimateFromPhoto?: (data: {
        photoBase64: string;
        height: number;
        weight: number;
        heightUnit: "cm" | "in";
        weightUnit: "kg" | "lbs";
        gender: "male" | "female";
        age?: number;
    }) => Promise<{
        estimates: Record<string, number>;
        unit: string;
    } | null>;
    /** Set of profile IDs currently running background estimation — drives the
     *  "calculating..." spinner in the profile detail view. */
    estimatingProfileIds?: Set<string>;
    t: TranslateFn;
    /** Called by PrimeStyleTryonInner's back button handler to check if there's
        an internal sub-step to go back to before closing the profiles view. */
    onRegisterBackInterceptor?: (canGoBack: () => boolean, goBack: () => void) => void;
}
/** Custom delete confirmation modal — replaces browser window.confirm() */
export declare function DeleteConfirmModal({ onConfirm, onCancel, t, }: {
    onConfirm: () => void;
    onCancel: () => void;
    t: TranslateFn;
}): import("react/jsx-runtime").JSX.Element;
export declare function MySizingProfilesView({ profiles, activeProfileId, onSelectProfile, onEditProfile, onSaveNewProfile, onSaveProfileMeasurements, onSaveBraSize, onRequestDelete, onLogout, onClose, apiUrl, apiKey, onPhotoPreview, initialCreateDraft, onProfileDraftConsumed, onEstimateFromPhoto, estimatingProfileIds, t, onRegisterBackInterceptor, }: MySizingProfilesViewProps): import("react/jsx-runtime").JSX.Element;
export {};
