import type { Profile, ProfileMeasurements, SizeHistoryEntry } from "../types";
export declare const LS_PREFIX = "primestyle_";
/** Custom event name fired on `window` whenever profile/active/cache state
 *  changes. Used by usePrimeStyleSize to refetch in real time. */
export declare const PS_STORAGE_CHANGE_EVENT = "ps:storage-change";
export declare function lsGet<T>(key: string, fallback: T): T;
export declare function lsSet(key: string, value: unknown): void;
export declare function lsRemove(key: string): void;
export declare function clearProfileLocalStorage(): void;
export declare function getProfiles(): Profile[];
export declare function saveProfiles(profiles: Profile[]): void;
export declare function getActiveProfileId(): string | null;
export declare function isActiveProfileExplicitlyCleared(): boolean;
export declare function setActiveProfileId(id: string | null): void;
/** Returns the active profile, or the most recently used one, or null. */
export declare function getActiveProfile(): Profile | null;
/** Mutate a single profile in storage by id. */
export declare function updateProfile(id: string, patch: Partial<Profile>): Profile | null;
/** Save the LLM-computed body measurements onto a profile. */
export declare function updateProfileMeasurements(id: string, measurements: ProfileMeasurements, unit?: "cm" | "in"): Profile | null;
/** Append (or replace) a per-product size recommendation in the profile's history. */
export declare function addSizeToHistory(profileId: string, entry: SizeHistoryEntry): Profile | null;
/** Look up a cached size recommendation for a specific product on a profile. */
export declare function getCachedSize(profile: Profile, productId: string): SizeHistoryEntry | null;
