import { MatrixArray } from './matrix'; export declare type VectorArray = number[]; export declare function create(x?: number, y?: number): VectorArray; export declare function copy(out: T, v: VectorArray): T; export declare function clone(v: VectorArray): VectorArray; export declare function set(out: T, a: number, b: number): T; export declare function add(out: T, v1: VectorArray, v2: VectorArray): T; export declare function scaleAndAdd(out: T, v1: VectorArray, v2: VectorArray, a: number): T; export declare function sub(out: T, v1: VectorArray, v2: VectorArray): T; export declare function len(v: VectorArray): number; export declare const length: typeof len; export declare function lenSquare(v: VectorArray): number; export declare const lengthSquare: typeof lenSquare; export declare function mul(out: T, v1: VectorArray, v2: VectorArray): T; export declare function div(out: T, v1: VectorArray, v2: VectorArray): T; export declare function dot(v1: VectorArray, v2: VectorArray): number; export declare function scale(out: T, v: VectorArray, s: number): T; export declare function normalize(out: T, v: VectorArray): T; export declare function distance(v1: VectorArray, v2: VectorArray): number; export declare const dist: typeof distance; export declare function distanceSquare(v1: VectorArray, v2: VectorArray): number; export declare const distSquare: typeof distanceSquare; export declare function negate(out: T, v: VectorArray): T; export declare function lerp(out: T, v1: VectorArray, v2: VectorArray, t: number): T; export declare function applyTransform(out: T, v: VectorArray, m: MatrixArray): T; export declare function min(out: T, v1: VectorArray, v2: VectorArray): T; export declare function max(out: T, v1: VectorArray, v2: VectorArray): T;