import { EdgeDetectionService } from "../../services/edge-detection.service";
import { PositionService } from "../../services/position.service";
import { PopoverPlacement } from "./public-api";
/**
 * @ignore
 */
export declare type PopoverAlignment = "left" | "right" | "top" | "bottom";
/**
 * @ignore
 */
export interface IPopoverModalContext {
    arrowMarginTop?: number;
    icon: string;
    popoverPosition?: string;
    title?: string;
    placement?: PopoverPlacement;
}
/**
 * @ignore
 */
export interface IPopoverPosition {
    placement: PopoverPlacement;
    arrowPosition: PopoverAlignment;
    position: {
        top: number;
        left: number;
    };
}
/**
 * @dynamic
 * @ignore
 */
export declare class PopoverModalService {
    private positionService;
    private document;
    private edgeDetector;
    constructor(positionService: PositionService, document: Document, edgeDetector: EdgeDetectionService);
    setPosition(popoverModal: HTMLElement, popoverTrigger: HTMLElement, appendToBody: boolean, contextPlacement: PopoverPlacement): IPopoverPosition;
    private getPlacementAndAlignment;
    private getYAdjustment;
    private getXAdjustment;
}
