import { ReactNode } from 'react'; import { Placement, UseFloatingOptions, UseDismissProps } from '@floating-ui/react'; import { ReferenceType } from '@floating-ui/react-dom'; import { DisableCloseOnEscapeOrClickProps } from '../../types'; export type PopoverLegacyProps = DisableCloseOnEscapeOrClickProps & { children?: ReactNode; /** * Traps focus inside the floating element and outside content cannot be accessed */ modal?: boolean; /** * Disables the shift of floating element * @internal */ disableShift?: boolean; /** * Disables the flip of floating element * @internal */ disableFlip?: boolean; /** * Disables the flip cross-axis fallback of floating element * @internal */ disableFlipFallback?: boolean; /** * Changes interaction to use hover */ openOnHover?: boolean; /** * Changes height and positioning for select/combobox */ fillAvailableHeight?: boolean; maxHeight?: number | string; fitScreen?: boolean; minHeight?: number | string; matchReferenceWidth?: boolean; fixedWidth?: boolean; placement?: Placement; open?: boolean; defaultOpen?: boolean; onOpenChange?: UseFloatingOptions["onOpenChange"]; onOutsidePress?: Exclude; /** This doesn't do anything for older browser */ delay?: number; /** * Fires when the floating element is requests to be closed * Note: this does not fire when asTooltip is true and mouseleaves to close * eg. on clickoutside, [esc] to close, or by */ onClose?: () => void; disableCaret?: boolean; noPadding?: boolean; disableAutoUpdate?: boolean; disableFocusLock?: boolean; disableTriggerFocus?: boolean; root?: HTMLElement | React.MutableRefObject | null; }; export declare function usePopoverLegacy({ defaultOpen, placement, modal, open: controlledOpen, onOpenChange: setControlledOpen, onOutsidePress, onClose, disableCloseOnClickOutside, disableCloseOnEscape, openOnHover, fillAvailableHeight, fitScreen, maxHeight, minHeight, matchReferenceWidth, fixedWidth, disableCaret, noPadding, disableShift, disableFlip, disableFlipFallback, disableAutoUpdate, disableFocusLock, disableTriggerFocus, root, }?: PopoverLegacyProps): { modal: boolean | undefined; labelId: string | undefined; descriptionId: string | undefined; setLabelId: import('react').Dispatch>; setDescriptionId: import('react').Dispatch>; arrowRef: import('react').MutableRefObject; disableCaret: boolean | undefined; noPadding: boolean | undefined; fillAvailableHeight: boolean | undefined; maxHeight: string | number | undefined; matchReferenceWidth: boolean | undefined; fixedWidth: boolean | undefined; disableFlipFallback: boolean | undefined; disableAutoUpdate: boolean | undefined; disableFocusLock: boolean | undefined; disableTriggerFocus: boolean | undefined; root: HTMLElement | import('react').MutableRefObject | null | undefined; placement: Placement; strategy: import('@floating-ui/react-dom').Strategy; middlewareData: import('@floating-ui/react-dom').MiddlewareData; x: number; y: number; isPositioned: boolean; update: () => void; floatingStyles: React.CSSProperties; refs: { reference: import('react').MutableRefObject; floating: React.MutableRefObject; setReference: (node: ReferenceType | null) => void; setFloating: (node: HTMLElement | null) => void; } & import('@floating-ui/react').ExtendedRefs; elements: { reference: ReferenceType | null; floating: HTMLElement | null; } & import('@floating-ui/react').ExtendedElements; context: { x: number; y: number; placement: Placement; strategy: import('@floating-ui/react-dom').Strategy; middlewareData: import('@floating-ui/react-dom').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; 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; selected?: boolean; }) => Record; open: boolean | undefined; setOpen: (open: boolean, event?: Event, reason?: import('@floating-ui/react').OpenChangeReason) => void; onClose: (() => void) | undefined; };