import Vector3 from './Vector3'; import Vector2 from './Vector2'; import Vector4 from './Vector4'; /** * Random or constant 1d, 2d, 3d vector generator */ export interface Value { get(out?: T): T; } declare class ConstantValue implements Value { private _val; constructor(val: number); get(): number; } type Vector = Vector2 | Vector3 | Vector4; declare class VectorValue implements Value { private _val; constructor(val: T); get(out?: T): T; } declare class Random1D { private _min; private _max; constructor(min: number, max: number); get(): number; } declare class Random2D { private _min; private _max; constructor(min: Vector2, max: Vector2); get(out?: Vector2): Vector2; } declare class Random3D { private _min; private _max; constructor(min: Vector3, max: Vector3); get(out?: Vector3): Vector3; } /** * Create a constant 1d value generator * @param constant */ export declare function constant(constant: number): ConstantValue; /** * Create a constant vector value(2d or 3d) generator * @param vector */ export declare function vector(vector: Vector): VectorValue; /** * Create a random 1d value generator * @param min * @param max */ export declare function random1D(min: number, max: number): Random1D; /** * Create a random 2d value generator * @param min * @param max */ export declare function random2D(min: Vector2, max: Vector2): Random2D; /** * Create a random 3d value generator * @param min * @param max */ export declare function random3D(min: Vector3, max: Vector3): Random3D; export {};