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 createPortalPanel(component: any): HTMLElement;
    static updatePortalPanel(clonedPanel: HTMLElement, component: any): void;
    static processInlineEventHandlers(element: HTMLElement): void;
}
export declare class PortalEventUtils {
    static setupPortalEventListeners(clonedPanel: HTMLElement, component: any): void;
    static setupMenuSelectListeners(clonedPanel: HTMLElement, component: any): void;
    static setupKeyDownListeners(clonedPanel: HTMLElement, component: any): void;
    static setupEventForwarding(clonedPanel: HTMLElement, component: any): void;
}
