import React from 'react'; type ContextValue = { registerPortal: (id: string, element: HTMLElement) => void; unregisterPortal: (id: string) => void; getPortalElement: (id: string) => HTMLElement | undefined; isNodeWithinPortalDropdown: (node: Node, id: string) => boolean; }; export declare const DropdownPortalRegistrationContext: React.Context; /** * For consuming components a slimmer version of the context is returned, omitting `registerPortal` * and `unregisterPortal` as those functions are only utilized by the `dropdown_popover` itself. * `isNodeWithinPortalDropdown` is the preferred export, but `getPortalElement` is also provided * if more complex logic is needed involving portal rendered dropdown content */ export declare const useActiveDropdownsContext: () => Pick; /** * This context allows `DropdownContainer` components to opt into registering a reference to their * rendered DOM content when the dropdown opens. To enable a `DropdownContainer` to opt into this context behavior, * a `dropdownId` must be passed to the `DropdownContainer`. * * This context is `ref` based to reduce re-renders of consuming components and because ref data is a good match for * tracking DOM references. This does mean that accessing data in this context should be done only at the time it is needed, * such as in a click outside event handler. `isNodeWithinPortalDropdown` is the preferred export from this context * for usage within standard components. */ declare function DropdownPortalRegistrationContextProvider({ children }: { children: React.ReactNode | React.ReactNode[]; }): React.JSX.Element; export default DropdownPortalRegistrationContextProvider;