export declare class Vector2 {
    x: number;
    y: number;
    interpretation: 'any' | 'pixel' | 'percentage';
    constructor(x: number, y: number, interpretation?: 'any' | 'pixel' | 'percentage');
    static add(vec1: Vector2, vec2: Vector2): Vector2;
    /**
     * Returns the direction vector from the fromVec to the toVec
     * @param toVec     The position the direction is pointing to
     * @param fromVec   The source position of the direction
     */
    static getDirection(toVec: Vector2, fromVec: Vector2): Vector2;
    /**
     * This function returns the distance between two Vectors (Eucledian)
     * @param toVec
     * @param fromVec
     */
    static getDistance(vec1: Vector2, vec2: Vector2): number;
    static getLength(vec: Vector2): number;
    static divNum(vec1: Vector2, num: number): Vector2;
    static mulNum(vec1: Vector2, num: number): Vector2;
    static dotProduct(vec1: Vector2, vec2: Vector2): number;
    static convertToVector2(vec: any): Vector2 | undefined;
    /**
     * This function computes the rotation of a vector around the origin of the coordinate system
     * @param vec    The position that is rotated
     * @param angleDeg   The amount of rotation in degrees
     */
    static rotateOrigin(vec: Vector2, angleDeg: number): Vector2;
    /**
     * This function computes the rotation of a vector around a specific rotation point
     * @param vec   The position that is rotated
     * @param vecRotCenter  The center of the rotation
     * @param angleDeg  the amount of rotation in degrees
     */
    static rotateAround(vec: Vector2, vecRotCenter: Vector2, angleDeg: number): Vector2;
    /**
     * Returns the angle between the two vectors in radiants
     * @param vec1
     * @param vec2
     */
    static angleRad(vec1: Vector2, vec2: Vector2): number;
    /**
     *Returns the angle between the two vectors in degrees
     * @param vec1
     * @param vec2
     */
    static angleDeg(vec1: Vector2, vec2: Vector2): number;
    static normalize(vec1: Vector2): Vector2;
    toString(): string;
}
export declare class Vector3 {
    x: number;
    y: number;
    z: number;
    constructor(x: number, y: number, z: number);
    static add(vec1: Vector3, vec2: Vector3): Vector3;
    static divNum(vec1: Vector3, num: number): Vector3;
    static mulNum(vec1: Vector3, num: number): Vector3;
    toString(): string;
}
export declare class Vector4 {
    x: number;
    y: number;
    z: number;
    w: number;
    constructor(x: number, y: number, z: number, w: number);
    static add(vec1: Vector4, vec2: Vector4): Vector4;
    static divNum(vec1: Vector4, num: number): Vector4;
    static mulNum(vec1: Vector4, num: number): Vector4;
}
//# sourceMappingURL=wcVectors.d.ts.map