export class b2DistanceJointDef extends b2JointDef {
    constructor();
    localAnchorA: b2Vec2;
    localAnchorB: b2Vec2;
    length: number;
    minLength: number;
    maxLength: number;
    stiffness: number;
    damping: number;
    Initialize(b1: any, b2: any, anchor1: any, anchor2: any): void;
}
export class b2DistanceJoint extends b2Joint {
    constructor(def: any);
    m_stiffness: any;
    m_damping: any;
    m_bias: number;
    m_length: number;
    m_minLength: number;
    m_maxLength: number;
    m_localAnchorA: b2Vec2;
    m_localAnchorB: b2Vec2;
    m_gamma: number;
    m_impulse: number;
    m_lowerImpulse: number;
    m_upperImpulse: number;
    m_indexA: number;
    m_indexB: number;
    m_u: b2Vec2;
    m_rA: b2Vec2;
    m_rB: b2Vec2;
    m_localCenterA: b2Vec2;
    m_localCenterB: b2Vec2;
    m_currentLength: number;
    m_invMassA: number;
    m_invMassB: number;
    m_invIA: number;
    m_invIB: number;
    m_softMass: number;
    m_mass: number;
    m_qA: b2Rot;
    m_qB: b2Rot;
    m_lalcA: b2Vec2;
    m_lalcB: b2Vec2;
    GetAnchorA(out: any): any;
    GetAnchorB(out: any): any;
    GetReactionForce(inv_dt: any, out: any): any;
    GetReactionTorque(inv_dt: any): number;
    GetLocalAnchorA(): b2Vec2;
    GetLocalAnchorB(): b2Vec2;
    SetLength(length: any): number;
    GetLength(): number;
    SetMinLength(minLength: any): number;
    SetMaxLength(maxLength: any): number;
    GetCurrentLength(): number;
    SetStiffness(stiffness: any): void;
    GetStiffness(): any;
    SetDamping(damping: any): void;
    GetDamping(): any;
    Dump(log: any): void;
    InitVelocityConstraints(data: any): void;
    SolveVelocityConstraints(data: any): void;
    SolvePositionConstraints(data: any): boolean;
    Draw(draw: any): void;
}
export namespace b2DistanceJoint {
    const InitVelocityConstraints_s_P: b2Vec2;
    const SolveVelocityConstraints_s_vpA: b2Vec2;
    const SolveVelocityConstraints_s_vpB: b2Vec2;
    const SolveVelocityConstraints_s_P: b2Vec2;
    const SolvePositionConstraints_s_P: b2Vec2;
    const Draw_s_pA: b2Vec2;
    const Draw_s_pB: b2Vec2;
    const Draw_s_axis: b2Vec2;
    const Draw_s_c1: b2Color;
    const Draw_s_c2: b2Color;
    const Draw_s_c3: b2Color;
    const Draw_s_c4: b2Color;
    const Draw_s_pRest: b2Vec2;
    const Draw_s_pMin: b2Vec2;
    const Draw_s_pMax: b2Vec2;
}
import { b2JointDef } from "./b2_joint.js";
import { b2Vec2 } from "../common/b2_math.js";
import { b2Joint } from "./b2_joint.js";
import { b2Rot } from "../common/b2_math.js";
import { b2Color } from "../common/b2_draw.js";
