import type { Popover } from "./Popover"; export declare class PopoverUtils { /** @internal */ private readonly popover; /** @internal */ private arrowPixelChange; /** @internal */ private originalParent; /** @internal */ private originalNextSibling; constructor(popover: Popover); /** * Parses the delay string and sets the open and close delay values. * If the delay string is invalid, the delay is set to 0. * @returns An array containing the open and close delay values. * @throws An error if the delay value is invalid. */ setupDelay(): number[]; /** * Sets up the hover bridge for the popover. * The hover bridge is used to prevent the popover from closing when the mouse is over the popover. * * @param placement - The placement of the popover. */ setupHoverBridge(placement: string): void; /** * If the `appendTo` property is set, finds the corresponding * DOM element by its ID, and appends this popover as a child of that element when opened. * When closed, returns to original position. * @param isOpen Whether the popover is being opened (true) or closed (false) */ handleAppendTo(isOpen: boolean): void; /** * Re-attaches focus/blur event listeners for any components with FocusMixin after DOM move. */ private reattachFocusListeners; /** * Sets up the accessibility attributes for the popover. */ setupAccessibility(): void; /** * Updates the aria-haspopup attribute on the trigger element. */ updateAriaHasPopupAttribute(): void; /** * Updates the aria-expanded attribute on the trigger element. */ updateAriaExpandedAttribute(): void; /** * Updates the arrow style based on the arrow data and placement. * * @param arrowData - The arrow data x and y. * @param placement - The placement of the popover. */ updateArrowStyle(arrowData: { x?: number; y?: number; }, placement: string): void; /** * Updates the popover style based on the x and y position. * * @param x - The x position. * @param y - The y position. */ updatePopoverStyle(x: number, y: number): void; createBackdrop(): void; }