import { type Placement, type MiddlewareData } from '@floating-ui/dom';
export declare class PortalManager {
    private portalContainer;
    private originalListboxParent;
    private measuredPopupHeight;
    private component;
    private clonedListbox;
    private cleanupAutoUpdate;
    private currentPlacement;
    private currentMiddlewareData;
    constructor(component: any);
    private createPortalAppendContainer;
    positionPortalAppend(): void;
    private measurePopupHeight;
    private computeFloatingUIPosition;
    private calculateFloatingUIPosition;
    private createFloatingUIMiddleware;
    private handleSizeMiddleware;
    private createCustomPlatform;
    private applyFloatingUIPosition;
    private fallbackPositioning;
    private calculateAndSetAutoSizeProperties;
    updatePortalAppendPosition(): void;
    handleWindowResize(): void;
    private setupAutoUpdatePositioning;
    private cleanupAutoUpdatePositioning;
    private injectStylesToDocument;
    private adoptStylesToPortalAppend;
    setupPortalAppend(): void;
    private createPortalListbox;
    private setupPortalEventListeners;
    private updatePortalContent;
    private updateFooterState;
    cleanupPortalAppend(): void;
    get portalContainerElement(): HTMLElement | null;
    resetMeasuredHeight(): void;
    updatePortalOptions(): 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;
}
