import { type Placement, type MiddlewareData, type ComputePositionConfig, type Boundary } from '@floating-ui/dom'; export declare class PortalUtils { static calculateAvailableSpace(referenceElement: HTMLElement): { spaceAbove: number; spaceBelow: number; viewportHeight: 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; static createFloatingUIMiddleware(boundary: Boundary, onSizeApply: (params: { availableWidth: number; availableHeight: number; elements: { floating: HTMLElement; }; rects: { reference: { x: number; y: number; width: number; height: number; }; }; }) => void): ComputePositionConfig['middleware']; } export declare class PortalContentUtils { static createBaseListbox(component: any): HTMLElement; static addSearchSection(listbox: HTMLElement, component: any): void; static addLoadingSection(listbox: HTMLElement, component: any): void; static addOptionsSection(listbox: HTMLElement, component: any): void; static addNoResultsMessage(container: HTMLElement, component: any): void; static addClonedOptions(container: HTMLElement, component: any): void; static cloneOption(option: HTMLElement): HTMLElement; static copyOptionProperties(originalOption: HTMLElement, clonedOption: HTMLElement): void; static addFooterSection(listbox: HTMLElement, component: any): void; static addCustomFooter(container: HTMLElement, component: any): void; static createFooter(component: any): HTMLElement; static addShowSelectedToggle(footer: HTMLElement, component: any): void; static addClearAllButton(footer: HTMLElement, component: any): void; static updateClonedOptions(clonedListbox: HTMLElement, component: any): void; static updateClonedOption(originalOption: HTMLElement, clonedOption: HTMLElement): void; static updateClonedOptionAttributes(originalOption: HTMLElement, clonedOption: HTMLElement): void; static createPortalListbox(component: any): HTMLElement; } export declare class PortalEventUtils { static setupPortalEventListeners(clonedListbox: HTMLElement, component: any): void; static setupOptionClickListeners(clonedListbox: HTMLElement, component: any): void; static handleOptionClick(option: HTMLElement, component: any): void; static setupScrollListeners(clonedListbox: HTMLElement, component: any): void; static setupSearchListeners(clonedListbox: HTMLElement, component: any): void; static setupFooterListeners(clonedListbox: HTMLElement, component: any): void; static setupCustomFooterListeners(clonedListbox: HTMLElement, component: any): void; static setupFooterClickHandlers(footer: HTMLElement): void; static setupShowSelectedToggle(footer: HTMLElement, component: any): void; static setupClearAllHandler(footer: HTMLElement, component: any): void; static setupSlotListeners(clonedListbox: HTMLElement, component: any): void; }