/**
 * Vector class ported to typescript from winduptoy gist
 * https://gist.github.com/winduptoy/a1aa09c3499e09edbd33
 *
 * Javascript class originaly hacked from evanw's lightgl.js
 * https://github.com/evanw/lightgl.js/blob/master/src/vector.js
 */
export declare class Vector2D {
    private _x;
    private _y;
    constructor(x?: number, y?: number);
    get x(): number;
    set x(value: number);
    get y(): number;
    set y(value: number);
    negative(): this;
    add(v: Vector2D | number): this;
    subtract(v: Vector2D | number): this;
    multiply(v: Vector2D | number): this;
    divide(v: Vector2D | number): this;
    equals(v: Vector2D): boolean;
    dot(v: Vector2D): number;
    cross(v: Vector2D): number;
    length(): number;
    normalize(): this;
    min(): number;
    max(): number;
    toAngles(): number;
    angleTo(a: Vector2D): number;
    toArray(n: number): number[];
    clone(): Vector2D;
    set(x: number, y: number): this;
    static negative(a: Vector2D): Vector2D;
    static add(a: Vector2D, b: Vector2D | number): Vector2D;
    static subtract(a: Vector2D, b: Vector2D | number): Vector2D;
    static multiply(a: Vector2D, b: Vector2D | number): Vector2D;
    static divide(a: Vector2D, b: Vector2D | number): Vector2D;
    static equals(a: Vector2D, b: Vector2D): boolean;
    static dot(a: Vector2D, b: Vector2D): number;
    static cross(a: Vector2D, b: Vector2D): number;
}
