import { ArrayNumber2 } from "..";
import { TgdVec3 } from "./vec3";
import { TgdVec4 } from "./vec4";
export declare class TgdVec2 extends Float32Array {
    static fromMix(v1: TgdVec2 | TgdVec3 | TgdVec4, v2: TgdVec2 | TgdVec3 | TgdVec4, a?: number): TgdVec2;
    static distance(from: TgdVec2 | TgdVec3 | TgdVec4, to: TgdVec2 | TgdVec3 | TgdVec4): number;
    constructor();
    constructor(x: Readonly<TgdVec2 | ArrayNumber2>);
    constructor(x: number);
    constructor(x: number, y: number);
    clone(): TgdVec2;
    mix(vec: Readonly<TgdVec2>, alpha?: number): this;
    isEqual(vec: Readonly<TgdVec2 | ArrayNumber2>): boolean;
    isClose(vec: Readonly<TgdVec2 | ArrayNumber2>, epsilon?: number): boolean;
    from(vec: Readonly<TgdVec2 | TgdVec4 | ArrayNumber2>): this;
    fromMix(a: TgdVec2 | TgdVec3 | TgdVec4, b: TgdVec2 | TgdVec3 | TgdVec4, t: number): this;
    reset(x: number, y: number): this;
    get x(): number;
    set x(value: number);
    get y(): number;
    set y(value: number);
    add(...vectors: (TgdVec2 | TgdVec3 | TgdVec4)[]): this;
    addWithScale(vec: TgdVec2 | TgdVec3 | TgdVec4, scale: number): this;
    subtract(vec: Readonly<TgdVec2 | TgdVec3 | TgdVec4 | ArrayNumber2>): this;
    scale(factor: number): this;
    dot(vec: Readonly<TgdVec2 | TgdVec3 | TgdVec4 | ArrayNumber2>): number;
    get size(): number;
    normalize(): this;
    /**
     * Set random values between -0.5 and +0.5 to each coordinate.
     */
    random(): this;
    debug(caption?: string): void;
}
//# sourceMappingURL=vec2.d.ts.map