import type { PlacementPropValues, PlacementValues, PositionConstraint, PositionMountNode, ElementPosition, PositionElement } from './PositionPropTypes'; type PlacementValuesWithoutOffscreen = Exclude; type PlacementValuesWithoutOffscreenArray = [ PlacementValuesWithoutOffscreen, PlacementValuesWithoutOffscreen ]; type Options = { placement?: PlacementPropValues; offsetX?: string | number; offsetY?: string | number; constrain?: PositionConstraint; container?: PositionMountNode; over?: boolean; }; /** * --- * category: utilities/position * --- * * Calculate the coordinates to attach an element * to a designated target with specified constraints * @module * @param element - component or DOM node * @param target - the target DOM node * @param options - constraints for the positioning * @param options.placement - designates where the element will be attached * ('top', 'bottom', 'left', 'right', 'top left' etc.) * @param options.container - DOM node where the element is contained * @param options.over - whether or not you want the element to position over the target * @param options.constrain - if the element should be constrained to 'window', * 'scroll-parent', 'parent', or 'none' * @param options.offsetX - the horizontal offset for the positioned element * @param options.offsetY - the vertical offset for the positioned element * @returns object containing style with the calculated position in the 'transform' * property */ declare function calculateElementPosition(element?: PositionElement, target?: PositionElement, options?: Options): ElementPosition; /** * Returns the following: * - When the input is just 1 element, then `[input, 'center']`, else: * - if the first element is `center`, it reverses the order * - otherwise, it just returns the split input as an array */ declare function parsePlacement(placement: PlacementPropValues): PlacementValuesWithoutOffscreenArray; export default calculateElementPosition; export { calculateElementPosition, parsePlacement }; //# sourceMappingURL=calculateElementPosition.d.ts.map