import * as React from 'react'; import { ReactStore } from '@base-ui/utils/store'; import { type InteractionType } from '@base-ui/utils/useEnhancedClickHandler'; import { type DialogRoot } from "../root/DialogRoot.mjs"; import { PopupStoreContext, PopupTriggerDataStore, PopupStoreState } from "../../utils/popups/index.mjs"; export type State = PopupStoreState & { modal: boolean | 'trap-focus'; disablePointerDismissal: boolean; openMethod: InteractionType | null; nested: boolean; nestedOpenDialogCount: number; nestedOpenDrawerCount: number; titleElementId: string | undefined; descriptionElementId: string | undefined; viewportElement: HTMLElement | null; role: 'dialog' | 'alertdialog'; }; type Context = PopupStoreContext & { readonly popupRef: React.RefObject; readonly backdropRef: React.RefObject; readonly internalBackdropRef: React.RefObject; readonly outsidePressEnabledRef: React.MutableRefObject; readonly onNestedDialogOpen?: ((dialogCount: number, drawerCount: number) => void) | undefined; }; declare const selectors: { open: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => boolean; mounted: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => boolean; transitionStatus: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => import("../../floating-ui-react/components/FloatingRootStore.mjs").FloatingRootStore; triggerCount: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => number; preventUnmountingOnClose: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => boolean; payload: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => unknown; activeTriggerId: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => string | null; activeTriggerElement: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => Element | null; popupId: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => string | undefined; isTriggerActive: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }, triggerId: string | undefined) => boolean; isOpenedByTrigger: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }, triggerId: string | undefined) => boolean; isMountedByTrigger: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }, triggerId: string | undefined) => boolean; triggerProps: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }, isActive: boolean) => import("../../index.mjs").HTMLProps; triggerPopupId: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }, triggerId: string | undefined) => string | undefined; popupProps: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => import("../../index.mjs").HTMLProps; popupElement: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => HTMLElement | null; positionerElement: (state: { open: boolean; readonly openProp: boolean | undefined; mounted: boolean; transitionStatus: import("../../internals/useTransitionStatus.mjs").TransitionStatus; floatingRootContext: import("../../floating-ui-react/index.mjs").FloatingRootContext; floatingId: string | undefined; triggerCount: number; preventUnmountingOnClose: boolean; payload: unknown; activeTriggerId: string | null; activeTriggerElement: Element | null; readonly triggerIdProp: string | null | undefined; popupElement: HTMLElement | null; positionerElement: HTMLElement | null; activeTriggerProps: import("../../index.mjs").HTMLProps; inactiveTriggerProps: import("../../index.mjs").HTMLProps; popupProps: import("../../index.mjs").HTMLProps; }) => HTMLElement | null; modal: (state: State) => "trap-focus" | boolean; nested: (state: State) => boolean; nestedOpenDialogCount: (state: State) => number; nestedOpenDrawerCount: (state: State) => number; disablePointerDismissal: (state: State) => boolean; openMethod: (state: State) => InteractionType | null; descriptionElementId: (state: State) => string | undefined; titleElementId: (state: State) => string | undefined; viewportElement: (state: State) => HTMLElement | null; role: (state: State) => "alertdialog" | "dialog"; }; /** * The subset of `DialogStore` that detached handle-backed triggers rely on. Both the real * `DialogStore` and the inert fallback store satisfy it, so a trigger can read from whichever * store the handle currently exposes. */ export type DialogHandleStore = PopupTriggerDataStore>; export declare class DialogStore extends ReactStore>, Context, typeof selectors> { constructor(initialState: Partial> | undefined, floatingId: string | undefined, nested: boolean); setOpen: (nextOpen: boolean, eventDetails: Omit) => void; } /** * Creates the inert fallback store used by detached handle-backed triggers while no * `Dialog.Root` is attached. It preserves a dialog-specific trigger registry in context so * detached triggers can register before migrating to the live root store. */ export declare function createNullDialogStore(): DialogHandleStore; export {};