import type { RefObject } from 'react'; declare const PLACEMENTS: readonly ['top', 'right', 'bottom', 'left', 'nested-menu']; type Placements = (typeof PLACEMENTS)[number]; type AddPrefixToUnion = T extends string ? `${P}${T}` : never; type AutoPlacements = AddPrefixToUnion, 'auto-'> | 'auto'; export type PopupPlacement = AutoPlacements | Placements; export type PopupAlign = 'start' | 'center'; export declare const DEFAULT_ARROW_WIDTH = 8; export declare const DEFAULT_POSITIONS: { arrowLeft: number; arrowTop: number; arrowTransform: string; placement: string; popupInitialPosition: string; popupPosition: string; rotate: number; }; type ComputePositionsTypes = { placement: PopupPlacement; childrenRef: RefObject; popupRef: RefObject; popupPortalTarget: HTMLElement; hasArrow: boolean; align: PopupAlign; }; /** * This function will compute the positions of popup and arrow based on children position and popup size */ export declare const computePositions: ({ placement, childrenRef, popupRef, popupPortalTarget, hasArrow, align, }: ComputePositionsTypes) => { arrowLeft: number; arrowTop: number; arrowTransform: string; placement: string; popupInitialPosition: string; popupPosition: string; rotate: number; }; export {}; //# sourceMappingURL=helpers.d.ts.map