import { Placement, PlacementAxis } from './useOverlayPosition'; interface Position { top?: number; left?: number; bottom?: number; right?: number; } interface Dimensions { width: number; height: number; totalWidth: number; totalHeight: number; top: number; left: number; scroll: Position; } interface Offset { top: number; left: number; width: number; height: number; } interface PositionOpts { arrowSize: number; placement: Placement; targetNode: Element; overlayNode: Element; scrollNode: Element; padding: number; shouldFlip: boolean; boundaryElement: Element; offset: number; crossOffset: number; maxHeight?: number; arrowBoundaryOffset?: number; } export interface PositionResult { position: Position; arrowOffsetLeft?: number; arrowOffsetTop?: number; triggerAnchorPoint: { x: number; y: number; }; maxHeight: number; placement: PlacementAxis; } export declare function calculatePositionInternal(placementInput: Placement, childOffset: Offset, overlaySize: Offset, scrollSize: Offset, margins: Position, padding: number, flip: boolean, boundaryDimensions: Dimensions, containerDimensions: Dimensions, containerOffsetWithBoundary: Offset, offset: number, crossOffset: number, isContainerPositioned: boolean, userSetMaxHeight: number | undefined, arrowSize: number, arrowBoundaryOffset: number, isContainerDescendentOfBoundary: boolean, visualViewport: VisualViewport | null): PositionResult; /** * Determines where to place the overlay with regards to the target and the position of an optional indicator. */ export declare function calculatePosition(opts: PositionOpts): PositionResult; export declare function getRect(node: Element, ignoreScale: boolean): { top: number; left: number; width: number; height: number; }; export {};