import { Vector } from "../../type_definitions/array_type_definitions.js"; import { EasingFunction } from "../math_utils.js"; export declare function create(length: number): Vector; export declare function create(firstValue: number, ...remainingValues: number[]): Vector; export declare function getAllocationFunction(): (length: number) => Vector; /** Specify the function that will be used to allocate the vector when calling the {@link create} function */ export declare function setAllocationFunction(allocationFunction: (length: number) => Vector): void; export declare function set(vector: T, uniformValue: number): T; export declare function set(vector: T, firstValue: number, ...remainingValues: number[]): T; export declare function copy(from: Readonly, to: T): T; /** The overload where `T extends Vector` does also get `array` as `Readonly`, but is not marked as such due to Typescript having issues with inferring the proper type of `T` when `Readonly` is used */ export declare function clone(vector: Readonly): T; export declare function clone(vector: Readonly): number[]; export declare function clone(vector: T): T; export declare function equals(vector: Readonly, other: Readonly, epsilon?: number): boolean; export declare function zero(vector: T): T; export declare function isZero(vector: Readonly, epsilon?: number): boolean; export declare function scale(vector: Readonly, value: number): T; export declare function scale(vector: Readonly, value: number, out: T): T; export declare function round(vector: Readonly): T; export declare function round(vector: Readonly, out: T): T; export declare function floor(vector: Readonly): T; export declare function floor(vector: Readonly, out: T): T; export declare function ceil(vector: Readonly): T; export declare function ceil(vector: Readonly, out: T): T; export declare function clamp(vector: Readonly, start?: number, end?: number): T; export declare function clamp(vector: Readonly, start: number, end: number, out: T): T; export declare function lerp(from: Readonly, to: Readonly, interpolationFactor: number): T; export declare function lerp(from: Readonly, to: Readonly, interpolationFactor: number, out: T): T; export declare function interpolate(from: Readonly, to: Readonly, interpolationFactor: number, easingFunction?: EasingFunction): T; export declare function interpolate(from: Readonly, to: Readonly, interpolationFactor: number, easingFunction: EasingFunction, out: T): T; export declare function toString(vector: Readonly, decimalPlaces?: number): string; export declare function log(vector: Readonly, decimalPlaces?: number): Vector; export declare function error(vector: Readonly, decimalPlaces?: number): Vector; export declare function warn(vector: Readonly, decimalPlaces?: number): Vector; export declare const VecUtils: { readonly create: typeof create; readonly getAllocationFunction: typeof getAllocationFunction; readonly setAllocationFunction: typeof setAllocationFunction; readonly set: typeof set; readonly copy: typeof copy; readonly clone: typeof clone; readonly equals: typeof equals; readonly zero: typeof zero; readonly isZero: typeof isZero; readonly scale: typeof scale; readonly round: typeof round; readonly floor: typeof floor; readonly ceil: typeof ceil; readonly clamp: typeof clamp; readonly lerp: typeof lerp; readonly interpolate: typeof interpolate; readonly toString: typeof toString; readonly log: typeof log; readonly error: typeof error; readonly warn: typeof warn; };