export const b2_minPulleyLength: 2;
export class b2PulleyJointDef extends b2JointDef {
    constructor();
    groundAnchorA: b2Vec2;
    groundAnchorB: b2Vec2;
    localAnchorA: b2Vec2;
    localAnchorB: b2Vec2;
    lengthA: number;
    lengthB: number;
    ratio: number;
    Initialize(bA: any, bB: any, groundA: any, groundB: any, anchorA: any, anchorB: any, r: any): void;
}
export class b2PulleyJoint extends b2Joint {
    constructor(def: any);
    m_groundAnchorA: b2Vec2;
    m_groundAnchorB: b2Vec2;
    m_lengthA: any;
    m_lengthB: any;
    m_localAnchorA: b2Vec2;
    m_localAnchorB: b2Vec2;
    m_constant: any;
    m_ratio: any;
    m_impulse: number;
    m_indexA: number;
    m_indexB: number;
    m_uA: b2Vec2;
    m_uB: b2Vec2;
    m_rA: b2Vec2;
    m_rB: b2Vec2;
    m_localCenterA: b2Vec2;
    m_localCenterB: b2Vec2;
    m_invMassA: number;
    m_invMassB: number;
    m_invIA: number;
    m_invIB: number;
    m_mass: number;
    m_qA: b2Rot;
    m_qB: b2Rot;
    m_lalcA: b2Vec2;
    m_lalcB: b2Vec2;
    InitVelocityConstraints(data: any): void;
    SolveVelocityConstraints(data: any): void;
    SolvePositionConstraints(data: any): boolean;
    GetAnchorA(out: any): any;
    GetAnchorB(out: any): any;
    GetReactionForce(inv_dt: any, out: any): any;
    GetReactionTorque(inv_dt: any): number;
    GetGroundAnchorA(): b2Vec2;
    GetGroundAnchorB(): b2Vec2;
    GetLengthA(): any;
    GetLengthB(): any;
    GetRatio(): any;
    GetCurrentLengthA(): number;
    GetCurrentLengthB(): number;
    Dump(log: any): void;
    ShiftOrigin(newOrigin: any): void;
}
export namespace b2PulleyJoint {
    const InitVelocityConstraints_s_PA: b2Vec2;
    const InitVelocityConstraints_s_PB: b2Vec2;
    const SolveVelocityConstraints_s_vpA: b2Vec2;
    const SolveVelocityConstraints_s_vpB: b2Vec2;
    const SolveVelocityConstraints_s_PA: b2Vec2;
    const SolveVelocityConstraints_s_PB: b2Vec2;
    const SolvePositionConstraints_s_PA: b2Vec2;
    const SolvePositionConstraints_s_PB: b2Vec2;
    const GetCurrentLengthA_s_p: b2Vec2;
    const GetCurrentLengthB_s_p: 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";
