import { type Placement, type MiddlewareData } from '@floating-ui/dom'; export declare class PopoverPortalManager { private portalContainer; private measuredPopoverHeight; private component; private clonedPopover; private cleanupAutoUpdate; private currentPlacement; private currentMiddlewareData; private boundHandleWindowResize; constructor(component: any); private createPortalAppendContainer; positionPortalAppend(): void; private measurePopoverHeight; private computeFloatingUIPosition; private calculateFloatingUIPosition; private getInitialPlacement; private createFloatingUIMiddleware; private getFallbackPlacements; private createCustomPlatform; private positionArrow; private calculateArrowXPosition; private calculateArrowYPosition; private applyFloatingUIPosition; private fallbackPositioning; private calculateAndSetAutoSizeProperties; updatePortalAppendPosition(): void; handleWindowResize(): void; private setupAutoUpdatePositioning; private cleanupAutoUpdatePositioning; private injectStylesToDocument; private adoptStylesToPortalAppend; setupPortalAppend(): void; private createPortalPopover; private setupPortalEventListeners; cleanupPortalAppend(): void; get portalContainerElement(): HTMLElement | null; resetMeasuredHeight(): void; forceReposition(): void; getCurrentPlacement(): Placement; getCurrentMiddlewareData(): MiddlewareData | null; isUsingFloatingUI(): boolean; updatePositioningConfig(config: { offset?: number; padding?: number; boundary?: Element[] | 'viewport'; fallbackPlacements?: Placement[]; }): void; handleViewportChange(): void; isPositioningOptimal(): boolean; }