import { Ref } from 'vue';
import { PopupPositionT, PopupTriggerT } from './types';
interface Pos {
    left: number;
    top: number;
}
interface AnchorPosition {
    left?: number;
    top?: number;
    right?: number;
    bottom?: number;
}
export declare function calcPopupStyle(popupEl: HTMLElement, targetEl: HTMLElement, position: PopupPositionT, { adaptive, // 自适应容器边缘
anchor, // 是否计算anchor
anchorOffset, // anchor与容器边缘偏移量
offset, // popup 距离target偏移量
edgeOffset, }?: {
    adaptive?: boolean;
    anchor?: boolean;
    anchorOffset?: number;
    offset?: number;
    edgeOffset?: number;
}): {
    popupStyle: Pos;
    position: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
    anchorStyle: AnchorPosition;
    isFixed?: undefined;
} | {
    position: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
    popupStyle: Pos;
    anchorStyle: AnchorPosition;
    isFixed: boolean;
};
export declare function bindTrigger(el: HTMLElement | null, popupRef: Ref<HTMLElement | null>, triggers: PopupTriggerT[], { updateFn, hoverDelay, autoHide, }: {
    updateFn: (isVisible?: boolean, delay?: number) => void;
    hoverDelay?: number;
    autoHide?: boolean;
}): (() => void)[];
export declare function getTransformOrigin(position: PopupPositionT): {
    top: string;
    left: string;
};
export {};
