import * as React from 'react'; import { ReactStore } from '@base-ui-components/utils/store'; import { Timeout } from '@base-ui-components/utils/useTimeout'; import { type InteractionType } from '@base-ui-components/utils/useEnhancedClickHandler'; import { PopoverRoot } from "../root/PopoverRoot.js"; import { PopupStoreContext, PopupStoreState } from "../../utils/popups/index.js"; export type State = PopupStoreState & { disabled: boolean; instantType: 'dismiss' | 'click' | undefined; modal: boolean | 'trap-focus'; openMethod: InteractionType | null; openChangeReason: PopoverRoot.ChangeEventReason | null; stickIfOpen: boolean; nested: boolean; titleElementId: string | undefined; descriptionElementId: string | undefined; openOnHover: boolean; closeDelay: number; }; type Context = PopupStoreContext & { readonly popupRef: React.RefObject; readonly backdropRef: React.RefObject; readonly internalBackdropRef: React.RefObject; readonly triggerFocusTargetRef: React.RefObject; readonly beforeContentFocusGuardRef: React.RefObject; readonly stickIfOpenTimeout: Timeout; }; declare const selectors: { disabled: (state: State) => boolean; instantType: (state: State) => "click" | "dismiss" | undefined; openMethod: (state: State) => InteractionType | null; openChangeReason: (state: State) => import("../index.js").PopoverRootChangeEventReason | null; modal: (state: State) => boolean | "trap-focus"; stickIfOpen: (state: State) => boolean; titleElementId: (state: State) => string | undefined; descriptionElementId: (state: State) => string | undefined; openOnHover: (state: State) => boolean; closeDelay: (state: State) => number; open: (state: PopupStoreState) => boolean; mounted: (state: PopupStoreState) => boolean; transitionStatus: (state: PopupStoreState) => import("../../utils/useTransitionStatus.js").TransitionStatus; floatingRootContext: (state: PopupStoreState) => import("../../floating-ui-react/components/FloatingRootStore.js").FloatingRootStore; preventUnmountingOnClose: (state: PopupStoreState) => boolean; payload: (state: PopupStoreState) => unknown; activeTriggerId: (state: PopupStoreState) => string | null; activeTriggerElement: (state: PopupStoreState) => Element | null; isTriggerActive: (state: PopupStoreState, triggerId: string | undefined) => boolean; isOpenedByTrigger: (state: PopupStoreState, triggerId: string | undefined) => boolean; isMountedByTrigger: (state: PopupStoreState, triggerId: string | undefined) => boolean; triggerProps: (state: PopupStoreState, isActive: boolean) => import("../../utils/types.js").HTMLProps; popupProps: (state: PopupStoreState) => import("../../utils/types.js").HTMLProps; popupElement: (state: PopupStoreState) => HTMLElement | null; positionerElement: (state: PopupStoreState) => HTMLElement | null; }; export declare class PopoverStore extends ReactStore>, Context, Selectors> { constructor(initialState?: Partial>); setOpen: (nextOpen: boolean, eventDetails: Omit) => void; static useStore(externalStore: PopoverStore | undefined, initialState: Partial>): PopoverStore; private disposeEffect; } type Selectors = typeof selectors; export {};