export type Vec2 = { x: number; y: number; }; /** * @returns Vector Length Squared */ export declare function len2(a: Vec2): number; export declare function length(a: Vec2): number; export declare function distance(a: Vec2, b: Vec2): number; export declare function distance2(a: Vec2, b: Vec2): number; export declare function normalize(a: Vec2): { x: number; y: number; }; /** * Normalize Vector but return zero Vector when length is zero */ export declare function normalizeSafe(v: Vec2): Vec2; /** * @param theta (in radians) */ export declare function fromAngle(theta: number): { x: number; y: number; }; export declare function vec2(x?: number, y?: number): { x: number; y: number; }; export declare function add(a: Vec2, b: Vec2): { x: number; y: number; }; export declare function sub(a: Vec2, b: Vec2): { x: number; y: number; }; /** * Multiply by a Scalar */ export declare function mulScalar(v: Vec2, s: number): { x: number; y: number; }; export declare function dot(a: Vec2, b: Vec2): number; export declare function mul(a: Vec2, b: Vec2): { x: number; y: number; }; /** * @returns The perpendicular Vector */ export declare function perp(a: Vec2): { x: number; y: number; }; export declare function project(a: Vec2, target: Vec2): { x: number; y: number; }; export declare function clampLength(a: Vec2, max: number, min?: number): { x: number; y: number; }; /** * Rotate the Vector by theta amount * @param theta (in radians) */ export declare function rotateVec2(v: Vec2, theta: number): Vec2; //# sourceMappingURL=vec2.d.ts.map