/**
 * 二维向量
 * @Author 林一怂儿
 * @Date 2022/12/13 19:01:56
 */
export declare class Vector2 {
    /**
     * x轴坐标
     */
    x: number;
    /**
     * y轴坐标
     */
    y: number;
    constructor(x: number, y: number);
    /**
     * 加
     * @param t 目标值
     * @returns 自身值 + 目标值 = V2(sx+tx,sy+ty);
     */
    plus(t: Vector2): Vector2;
    /**
     * 减
     * @param t 目标值
     * @returns 自身值 - 目标值 = V2(sx-tx,sy-ty);
     */
    subtract(t: Vector2): Vector2;
    /**
     * 乘
     * @param t 目标值
     * @returns 自身值 * 目标值 = V2(sx*tx,sy*ty);
     */
    multiply(t: Vector2): Vector2;
    /**
     * 除
     * @param t 目标值
     * @returns 自身值 / 目标值 = V2(sx/tx,sy/ty);
     */
    divide(t: Vector2): Vector2;
    /**
     * 叉乘
     * @param t 目标值
     * @returns 自身值 · 目标值 = s.x*t.y-s.y*t.x;
     */
    multiplicationCross(t: Vector2): number;
    /**
     * 点乘
     * @param t 目标值
     * @returns 自身值 · 目标值 = s.x*t.x+s.y*t.y;
     */
    dotProduct(t: Vector2): number;
    /**
     * 检测两线段是否交叉
     * @param p1 点1
     * @param p2 点2
     * @param p3 点3
     * @param p4 点4
     */
    static checkCross(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2): boolean;
    /**
      * 检测p点是否在点p1,p2,p3组成的三角形内
      * @param p
      * @param p1
      * @param p2
      * @param p3
      */
    static checkInTriangle(p: Vector2, p1: Vector2, p2: Vector2, p3: Vector2): boolean;
    /**
     * 检测p点是否在点p1,p2,p3,p4组成的矩形内
     * @param p
     * @param p1
     * @param p2
     * @param p3
     * @param p4
     */
    static checkInRectangle(p: Vector2, p1: Vector2, p2: Vector2, p3: Vector2): boolean;
    /**
     * p点绕o点旋转angle°
     * @param p 当前点
     * @param o 源点
     * @param angle 角度
     */
    static rotateAroundPoint(p: Vector2, o: Vector2, angle: number): Vector2;
    /**
     * 计算p1到p2两点之间的距离 保留3位小数
     * @param p1
     * @param p2
     */
    static distance(p1: Vector2, p2: Vector2): number;
    /**
     * 计算两直线的夹角角度 保留三位小数
     * @param v1
     * @param v2
     */
    static includedAngle(v1: Vector2, v2: Vector2): number;
    /**
     * 在距离处获取点
     * @param start 开始点
     * @param end 结束点
     * @param distance 距离
     */
    static getPointAtDist(start: Vector2, end: Vector2, distance: number): Vector2;
    /**
     * 转换字符串
     * @returns
     */
    toString(): string;
}
/**
 * 二维向量
 * @param x
 * @param y
 * @returns
 */
export declare function v2(x: number, y: number): Vector2;
