import { ReactStore } from '@base-ui-components/utils/store'; import { BaseUIChangeEventDetails } from "../../types/index.js"; import { PopupStoreContext, PopupStoreSelectors, PopupStoreState } from "../../utils/popups/index.js"; import { FloatingRootStore } from "../components/FloatingRootStore.js"; export interface UseSyncedFloatingRootContextOptions> { popupStore: ReactStore, PopupStoreSelectors>; /** * Whether to prevent the auto-emitted `openchange` event. */ noEmit?: boolean; /** * Whether the Popup element is passed to Floating UI as the floating element instead of the default Positioner. */ treatPopupAsFloatingElement?: boolean; onOpenChange(open: boolean, eventDetails: BaseUIChangeEventDetails): void; } /** * Initializes a FloatingRootStore that is kept in sync with the provided PopupStore. * The new instance is created only once and updated on every render. */ export declare function useSyncedFloatingRootContext>(options: UseSyncedFloatingRootContextOptions): FloatingRootStore;