import React from "react"; import type { MeasuredLayoutRegistry, MeasuredSlotSize } from "./types"; export type MeasuredLayoutContextValue = { sizes: MeasuredLayoutRegistry; setSlotSize: (slotId: string, size: MeasuredSlotSize) => void; clearSlotSize: (slotId: string) => void; getSlotSize: (slotId: string) => MeasuredSlotSize; }; export type MeasuredLayoutProviderProps = { children: React.ReactNode; /** Optional initial sizes (useful in tests). */ initialSizes?: MeasuredLayoutRegistry; }; /** * Holds live measured sizes for named layout slots (fixed TopBar, BottomNav, etc.). * UI-only — no persistence or auth. */ export declare const MeasuredLayoutProvider: React.FunctionComponent; export declare const useMeasuredLayoutContext: () => MeasuredLayoutContextValue; /** Returns null outside a provider — safe for optional measure publishers. */ export declare const useOptionalMeasuredLayoutContext: () => MeasuredLayoutContextValue | null; export default MeasuredLayoutProvider;