import { Vector2D } from './vector2d';
import { Point2D } from './core';
export { Vector2D } from './vector2d';
export * from './methods';
declare const _default: {
    add(v1: Point2D, v2: Point2D): Point2D;
    add<T extends Point2D>(v1: Point2D, v2: Point2D, target: T): T;
    subtract(v1: Point2D, v2: Point2D): Point2D;
    subtract<T extends Point2D>(v1: Point2D, v2: Point2D, target: T): T;
    multiply(v1: Point2D, v2: Point2D): Point2D;
    multiply<T extends Point2D>(v1: Point2D, v2: Point2D, target: T): T;
    multiplyScalar(v: Point2D, scalar: number): Point2D;
    multiplyScalar<T extends Point2D>(v: Point2D, scalar: number, target: T): T;
    divide(v1: Point2D, v2: Point2D): Point2D;
    divide<T extends Point2D>(v1: Point2D, v2: Point2D, target: T): T;
    dot(v1: Point2D, v2: Point2D): number;
    cross(v1: Point2D, v2: Point2D): number;
    lengthSquared(v: Point2D): number;
    length(v: Point2D): number;
    distanceSquared(v1: Point2D, v2: Point2D): number;
    distance(v1: Point2D, v2: Point2D): number;
    normalize(v: Point2D): Point2D;
    normalize<T extends Point2D>(v: Point2D, target: T): T;
    rotate(v: Point2D, angle: number): Point2D;
    rotate<T extends Point2D>(v: Point2D, angle: number, target: T): T;
    angle(v: Point2D): number;
    angleDegree(v: Point2D): number;
    Vector2D: typeof Vector2D;
};
export default _default;
