import { Component, ContextManager } from '@zcomponent/core'; import { PhysicsConstraintBaseConstructorProps } from './PhysicsConstraint'; import { SixDofConstraint } from './SixDofConstraint'; interface RangeConstraintConstructorProps extends PhysicsConstraintBaseConstructorProps { /** * The minimum distance between the two objects * @zprop * @zdefault 0 */ minDistance: number; /** * The maximum distance between the two objects * @zprop * @zdefault 10 */ maxDistance: number; /** * Constraint stiffness (higher = more rigid) * @zprop * @zdefault 100 */ stiffness: number; /** * Damping to reduce oscillations * @zprop * @zdefault 100 */ damping: number; } /** * Creates a range constraint that allows objects to move freely within min/max distance limits. * * Unlike distance constraints which maintain fixed distances, this allows free movement * within the specified range. Perfect for spherical boundaries, tethers, or any system * where you want objects constrained within a distance range but free to move within it. * * @zbehavior * @zgroup Physics Constraints * @zparents three/Object3D/** */ export declare class RangeConstraint extends SixDofConstraint { constructor(contextManager: ContextManager, instance: Component, props: RangeConstraintConstructorProps); } export {};