import { POSITIONINFO, RENDERINFO, OPTION, ARROWPOSITION, JUDGERESULT } from '../types/index';
declare class drawArrowLine {
    dpr: number;
    arrowHeight: number;
    arrowAngle: number;
    degreeOfBlur: number;
    constructor();
    draw(ctx: CanvasRenderingContext2D, info: RENDERINFO): Path2D;
    /**
     * @func 绘制辅助点位，用于展示图形选中状态，即白色圆形点位
     * @desc
     * @param {}
     * @return {}
     */
    drawAuxiliaryPoint(ctx: CanvasRenderingContext2D, positionInfo: POSITIONINFO): void;
    /**
     * @func  绘制箭头
     * @desc
     * @param {
     *  startX, startY 起始点
     *  endX, endY 终点
     *  arrowHeight 箭头长度
     *  angle 箭头偏角度
     * }
     * @return {}
     */
    drawHeadArrow(startX: number, startY: number, endX: number, endY: number, arrowHeight: number, angle?: number): ARROWPOSITION;
    /**
     * @func 绘制一条直线情况下、根据参考点x、y计算左侧或右侧的某一角度下的另一个点,用于绘制箭头
     * @desc
     * @param {
     *   x,y 参考点
     *   lineAngle 两个之间绘制成一条直线时，两点之间的角度
     *   position 需要计算另一个的位置，左侧还是右侧方向
     *   angle 相对于直线的偏角度
     *   h 到参考直线点的距离
     * }
     * @return {}
     */
    getArrowPosition(x: number, y: number, lineAngle: number, position?: string, h?: number, angle?: number): Array<number>;
    /**
     * @func 计算一条直线上,从起始点到终点之间某一距离为distance(相对于终点)的一点
     * @desc
     * @param {}
     * @return {}
     */
    calculateLinePoint(startX: number, startY: number, endX: number, endY: number, distance?: number): Array<number>;
    setOptions(ctx: CanvasRenderingContext2D, option: OPTION): void;
    /**
     * @func  判断直线操作方法：移动
     * @desc 注意：由于是外层使用，需要指定当前的this,否则this指向存在问题
     * @param {}
     * @return {
     *   判断成功后,返回对应的mouse移动事件处理方法、鼠标状态或 抑或是其他信息
     *  其中返回函数支持参数依次为
     *  positionList  图形操作之前、已经转为像素的点位或路径信息
     *  offsetX   x方向、 鼠标移动偏移大小
     *  offsetY  y方向、 鼠标移动偏移大小
     * }
     */
    judgeOperate(info: RENDERINFO, ctx: CanvasRenderingContext2D, x: number, y: number): JUDGERESULT | undefined;
    judgeWithinRound(mouseX: number, mouseY: number, center: Array<number>): boolean;
    /**
     * @func 将像素位置、设置偏移
     * @desc
     * @param {
     *  positionList 像素位置
     *   offsetX,offsetY 偏移量
     *   noIndex 不需要偏移的经纬度索引
     * }
     * @return {}
     */
    changePosition(positionList: POSITIONINFO, offsetX: number, offsetY: number, noIndex?: number): POSITIONINFO;
}
declare const _default: drawArrowLine;
export default _default;
