import { type Placement, type MiddlewareData } from '@floating-ui/dom'; export declare class PortalUtils { static calculateAvailableSpace(referenceElement: HTMLElement): { spaceAbove: number; spaceBelow: number; spaceLeft: number; spaceRight: number; viewportHeight: number; viewportWidth: number; }; static getOptimalPlacement(referenceElement: HTMLElement): Placement; static findBoundaryElements(component: HTMLElement): Element[] | undefined; static calculateOptimalHeight(referenceRect: { x: number; y: number; width: number; height: number; }, viewportHeight: number, placement: Placement): number; static extractStylesAsCSS(styles: any): string; static generateStyleId(): string; static isPositioningOptimal(placement: Placement, referenceElement: HTMLElement): boolean; static applyCollisionData(element: HTMLElement, middlewareData: MiddlewareData, placement: Placement): void; } export declare class PortalContentUtils { static createBasePopover(component: any): HTMLElement; static addTitleSection(popoverBox: HTMLElement, component: any): void; static addContentSection(popoverBox: HTMLElement, component: any): void; static cloneContent(originalContent: HTMLElement, targetContent: HTMLElement): void; static addActionSection(popoverBox: HTMLElement, component: any): void; static addArrowElement(popoverBox: HTMLElement, component: any): void; static createPortalPopover(component: any): HTMLElement; static updatePortalContent(clonedPopover: HTMLElement, component: any): void; } export declare class PortalEventUtils { static setupPortalEventListeners(clonedPopover: HTMLElement, component: any): void; static setupClickListeners(clonedPopover: HTMLElement, component: any): void; static setupContentListeners(clonedPopover: HTMLElement, component: any): void; static setupActionListeners(clonedPopover: HTMLElement, component: any): void; static forwardEventToOriginal(event: Event, component: any, eventType: string): void; }