import { PopoverProps, PopoverPropsWithTheme } from './Popover'; /** * Popover hook for managing popover state and behavior. * @param PopoverProps Popover props * @returns Popover state and actions */ export declare const usePopover: ({ initialOpen, placement, isOpen: controlledOpen, popoverOffset, showArrow, theme, variant, defaultAnchorButtonProps, onOpenChange: setControlledOpen, }?: PopoverPropsWithTheme) => { placement: import('@floating-ui/utils').Placement; strategy: import('@floating-ui/utils').Strategy; middlewareData: import('@floating-ui/core').MiddlewareData; x: number; y: number; isPositioned: boolean; update: () => void; floatingStyles: React.CSSProperties; refs: { reference: import('react').MutableRefObject; floating: React.MutableRefObject; setReference: (node: import('@floating-ui/react-dom').ReferenceType | null) => void; setFloating: (node: HTMLElement | null) => void; } & import('@floating-ui/react').ExtendedRefs; elements: { reference: import('@floating-ui/react-dom').ReferenceType | null; floating: HTMLElement | null; } & import('@floating-ui/react').ExtendedElements; context: { x: number; y: number; placement: import('@floating-ui/utils').Placement; strategy: import('@floating-ui/utils').Strategy; middlewareData: import('@floating-ui/core').MiddlewareData; isPositioned: boolean; update: () => void; floatingStyles: React.CSSProperties; open: boolean; onOpenChange: (open: boolean, event?: Event, reason?: import('@floating-ui/react').OpenChangeReason) => void; events: import('@floating-ui/react').FloatingEvents; dataRef: React.MutableRefObject; nodeId: string | undefined; floatingId: string | undefined; refs: import('@floating-ui/react').ExtendedRefs; elements: import('@floating-ui/react').ExtendedElements; }; getReferenceProps: (userProps?: React.HTMLProps) => Record; getFloatingProps: (userProps?: React.HTMLProps) => Record; getItemProps: (userProps?: Omit, "selected" | "active"> & { active?: boolean | undefined; selected?: boolean | undefined; }) => Record; open: boolean; popoverOffset: number; setOpen: (isOpen: boolean, event?: Event, reason?: import('@floating-ui/react').OpenChangeReason) => void; arrowRef: import('react').RefObject; showArrow: boolean; defaultAnchorButtonProps: { [key: `data-${string}`]: string | undefined; label?: string; } | undefined; theme: "light" | "dark"; variant: "default" | "grey"; }; /** * Validates the children of the Popover component in development environment. * - Check for children presence * - Validate that and are used together. * * @param {Object} childrenObject * @param {React.ReactNode} childrenObject.children - The Popover children. * @param {boolean} childrenObject.hasContent - Whether is present. * @param {boolean} childrenObject.hasAnchor - Whether is present. * @returns {void} */ export declare const validatePopoverChildren: ({ children, hasContent, hasAnchor, }: { children: React.ReactNode; hasContent: boolean; hasAnchor: boolean; }) => void; type ValidationProps = Pick; /** * Validates Popover props in development environment. * * @param props Popover props to validate */ export declare const validatePopoverProps: ({ showArrow, variant, }: ValidationProps) => void; export {};