import type { IValueWithRandom } from "../Options/Interfaces/IValueWithRandom"; import type { ICoordinates } from "../Core/Interfaces/ICoordinates"; import { MoveDirection, MoveDirectionAlt } from "../Enums/Directions"; import type { IVelocity } from "../Core/Interfaces/IVelocity"; import { RangeValue } from "../Types/RangeValue"; import { Vector } from "../Core/Particle/Vector"; export declare class NumberUtils { static clamp(num: number, min: number, max: number): number; static mix(comp1: number, comp2: number, weight1: number, weight2: number): number; static randomInRange(r: RangeValue): number; static getRangeValue(value: RangeValue): number; static getRangeMin(value: RangeValue): number; static getRangeMax(value: RangeValue): number; static setRangeValue(source: RangeValue, value?: number): RangeValue; static getValue(options: IValueWithRandom): number; static getDistances(pointA: ICoordinates, pointB: ICoordinates): { dx: number; dy: number; distance: number; }; static getDistance(pointA: ICoordinates, pointB: ICoordinates): number; static getParticleBaseVelocity(direction: MoveDirection | keyof typeof MoveDirection | MoveDirectionAlt): Vector; static rotateVelocity(velocity: IVelocity, angle: number): IVelocity; static collisionVelocity(v1: Vector, v2: Vector, m1: number, m2: number): Vector; }