export type ElementRectangle = Pick;
export interface SbbAlignment {
horizontal: 'start' | 'center' | 'end';
vertical: 'above' | 'below';
}
export interface SbbElementPositionInfos {
top: number;
left: number;
maxHeight: string;
alignment: SbbAlignment;
}
/**
* Gets height and width of an element even if it's hidden (`display: none`).
*/
export declare function getElementRectangle(el: HTMLElement): ElementRectangle;
/**
* Determines whether an event is fired on a specific element.
*/
export declare function isEventOnElement(element: HTMLElement, event: MouseEvent | PointerEvent): boolean;
/**
* Determines the position of an element relative to a trigger element by evaluating
* the optimal position based on the available space.
*
* @param element The element of which to calculate the position.
* @param trigger The element relative to which to calculate the position.
* @param container The element which has the position:fixed applied.
* @param properties Properties to take into account in calculations (optional).
* @param properties.verticalOffset The distance to be added between the element and the trigger (optional).
* @param properties.horizontalOffset The horizontal offset to be applied to the element (optional).
* @param properties.centered Whether the element should be placed in the center by default (optional).
* @param properties.responsiveHeight Whether the element calculates its height based on its content (optional).
* @returns Returns an object containing the left position, the top position, the maximum height
* of the element and the current alignment object.
*/
export declare function getElementPosition(element: HTMLElement, trigger: HTMLElement, container: HTMLElement, properties?: {
verticalOffset?: number;
horizontalOffset?: number;
centered?: boolean;
responsiveHeight?: boolean;
}): SbbElementPositionInfos;
//# sourceMappingURL=position.d.ts.map