import React from 'react';
/** elementUtil html元素用的工具函数 */
export declare function getEventPath(event: MouseEvent | React.MouseEvent<HTMLTableElement, MouseEvent> | KeyboardEvent): any;
/**
 * 获取点击事件是否发生在元素内部
 * @param ele
 * @param event
 */
export declare function isElementInEventPath(ele?: HTMLElement, event?: MouseEvent | KeyboardEvent): boolean;
/**
 * 根据点击路径获取对应元素
 * @param path
 * @param isTargetCb
 */
export declare function getTargetEleInEventPath(path: Array<HTMLElement>, isTargetCb: (ele: HTMLElement) => boolean): any;
/**
 * 获得鼠标点击相对父面板位置
 * @param event
 * @param popupParent
 */
export declare function calculatePointerRelative(event: React.MouseEvent<HTMLTableElement, MouseEvent> | MouseEvent, popupParent: HTMLElement): {
    x: number;
    y: number;
};
interface OffSet {
    x: number;
    y: number;
}
/**
 * 获取面板相对父面板位置
 * @param event
 * @param popupParent
 */
export declare function calculatePopupRelative(trigger: HTMLElement, popupParent: HTMLElement, offset?: OffSet, direction?: string): {
    x: number;
    y: number;
};
export declare function keepWithinBounds(popupParent: HTMLElement, popup: HTMLElement, x: number, y: number, isPerfect?: Boolean): {
    x: number;
    y: number;
};
export declare function hasScroll(ele: HTMLElement, isHorizontal?: boolean): boolean;
export {};
