/** * class vector 2 */ export declare class Vector2 { x: number; y: number; /** * create a vector 2 class * @param x * @param y */ constructor(x?: number, y?: number); clone(): Vector2; /** * get the length of the vector * @returns {number} */ get length(): number; /** * @return {number} */ get lengthSq(): number; /** * normalize the vector * @returns {Vector2} */ normalize(): Vector2; /** * set value of the vector * @param a */ set(a: Vector2): void; /** * invert the vector direction * @returns {Vector2} */ invert(): Vector2; /** * rotate 90 * @returns {Vector2} */ rotate90(): Vector2; /** * add to another vector * @param a * @returns {Vector2} */ add(a: Vector2): Vector2; /** * subtract with another vector * @param a * @returns {Vector2} */ subtract(a: Vector2): Vector2; /** * multiply by a number * @param a * @returns {Vector2} */ multiply(a: number): Vector2; /** * rotate by an angle * @param a * @returns {Vector2} */ rotateBy(a: number): Vector2; rotateByRadian(a: number): Vector2; /** * multiply by a vector * @param a * @returns {Vector2} */ cross(a: Vector2): number; /** * dot a vector * @param a * @returns {number} */ dot(a: Vector2): number; static perp(v1: number[], v2: number[]): Vector2; static neg(v: Vector2): Vector2; }