/**
 * Note that bones are defined as a combination of Joint ({@link Transform}) and bone length. Joint defines the origin of the bone.
 * Last joint's position is expected to be bone_length distance from the target if target is reachable and be oriented towards that target ({@link Transform.lookAt})
 * @param {Transform[]} joints Will be updated as a result of the solve
 * @param {number[]} lengths distance to next bone
 * @param {Vector3} origin where should the first joint be placed at
 * @param {Vector3} target where should the last joint be placed at
 * @param {number} [max_iterations] More steps will lead to higher accuracy, but at the cost of computation. Generally solution will be reached in just a few iteration so this is just a ceiling
 * @param {number} [distance_tolerance] Minimum squared distance to be achieved to the target, used to terminate earlier before maximum number of iterations is reached
 */
export function fabrik_solve(joints: Transform[], lengths: number[], origin: Vector3, target: Vector3, max_iterations?: number, distance_tolerance?: number): void;
import Vector3 from "../../../../core/geom/Vector3.js";
//# sourceMappingURL=fabrik_solve.d.ts.map