import { ElementRef, Renderer2 } from "@angular/core"; export declare type Placement = "left" | "top" | "right" | "bottom"; export declare type HorizontalAlign = "center" | "left" | "right"; export interface IRect { left: number; top: number; right: number; bottom: number; } export interface IPosition { left: number; top: number; arrowPos: IArrowPosition; } export interface IBox { width: number; height: number; } export interface IArrowPosition { marginLeft?: string; marginTop?: string; left?: string; top?: string; right?: string; bottom?: string; arrowPlacement?: Placement; } /** * Calculate position of the @box relative to @target inside @container includes @paddings * Also calculate arrow position and styles */ export declare function calculatePosition(placement: Placement, target: IRect, box: IBox, container: IBox, paddings?: IRect, arrowSize?: IBox, horizontalAlign?: HorizontalAlign): IPosition; export declare function applyArrowStyles(renderer: Renderer2, arrow: ElementRef, arrowPos: IArrowPosition): void;