/**
 * 悬浮球位置计算工具函数
 */
/**
 * 位置配置类型
 */
export type LocationType = 'left-top' | 'right-top' | 'left-bottom' | 'right-bottom' | 'left-center' | 'right-center' | 'top-center' | 'bottom-center' | 'center';
/**
 * 尺寸预设类型
 */
export interface SizePreset {
    width: number;
    height: number;
}
/**
 * 位置计算配置
 */
export interface PositionConfig {
    ballRadius: number;
    margin: number;
    minEdgeDistance: number;
}
/**
 * 位置坐标
 */
export interface Position {
    x: number;
    y: number;
}
/**
 * 默认位置配置
 */
export declare const DEFAULT_POSITION_CONFIG: PositionConfig;
export declare const SIZE_PRESETS: Record<string, SizePreset>;
/**
 * 根据位置类型重新计算悬浮球位置
 * @param location 位置类型
 * @param config 位置配置
 * @returns 计算后的位置坐标
 */
export declare function calculateBallPosition(location: LocationType, config?: PositionConfig): Position;
/**
 * 计算面板显示位置
 * @param ballPosition 悬浮球位置
 * @param panelSize 面板尺寸
 * @param config 位置配置
 * @returns 面板位置坐标
 */
export declare function calculatePanelPosition(ballPosition: Position, panelSize: SizePreset, config?: PositionConfig): Position;
/**
 * 约束位置在安全边界内
 * @param position 原始位置
 * @param elementSize 元素尺寸
 * @param config 位置配置
 * @returns 约束后的位置
 */
export declare function constrainPosition(position: Position, elementSize: SizePreset, config?: PositionConfig): Position;
/**
 * 检测是否需要更新位置（窗口大小变化时）
 * @param currentPosition 当前位置
 * @param elementSize 元素尺寸
 * @param config 位置配置
 * @returns 是否需要更新位置
 */
export declare function shouldUpdatePosition(currentPosition: Position, elementSize: SizePreset, config?: PositionConfig): boolean;
/**
 * 检测是否为移动端
 * @returns 是否为移动端
 */
export declare function isMobile(): boolean;
/**
 * 获取尺寸预设
 * @param presetName 预设名称
 * @returns 尺寸配置
 */
export declare function getSizePreset(presetName: string): SizePreset;
//# sourceMappingURL=positionUtils.d.ts.map