import { LinearEquationsSolverInterface } from '../math'; import { Settings } from '../settings'; import { Memory } from '../utils'; import { Body } from './body'; import { ConstraintsSolverInterface, ConstraintInterface } from './types'; export declare class ConstraintsSolver implements ConstraintsSolverInterface { private readonly settings; private readonly linearEquationsSolver; private readonly memory; private positions; private velocities; private forces; private invMasses; private accelerations; private c0Forces; private cvForces; private tmpForces; private tmpVelocities; private v0; private v1; private cMin; private cMax; private lambdas0; private lambdas1; private b; private bt0; private bt1; private bhat; private J; private jacobian; private lookup; private constraints; private stack; private rows; private columns; constructor(settings: Settings, linearEquationsSolver: LinearEquationsSolverInterface, memory: Memory); solve(outPositions: Float32Array, outVelocities: Float32Array, bodies: Readonly[], constraints: Readonly[], dt: number): void; private allocate; private serializeBodies; private createJacobianMatrix; private createConstraintLookup; private solveConstraintForces; private correctPositions; private correctVelocities; private deallocate; private getRequiredMemorySize; }