export class b2PrismaticJointDef extends b2JointDef {
    constructor();
    localAnchorA: b2Vec2;
    localAnchorB: b2Vec2;
    localAxisA: b2Vec2;
    referenceAngle: number;
    enableLimit: boolean;
    lowerTranslation: number;
    upperTranslation: number;
    enableMotor: boolean;
    maxMotorForce: number;
    motorSpeed: number;
    Initialize(bA: any, bB: any, anchor: any, axis: any): void;
}
export class b2PrismaticJoint extends b2Joint {
    constructor(def: any);
    m_localAnchorA: b2Vec2;
    m_localAnchorB: b2Vec2;
    m_localXAxisA: b2Vec2;
    m_localYAxisA: b2Vec2;
    m_referenceAngle: any;
    m_impulse: b2Vec2;
    m_motorImpulse: number;
    m_lowerImpulse: number;
    m_upperImpulse: number;
    m_lowerTranslation: any;
    m_upperTranslation: any;
    m_maxMotorForce: any;
    m_motorSpeed: any;
    m_enableLimit: any;
    m_enableMotor: any;
    m_indexA: number;
    m_indexB: number;
    m_localCenterA: b2Vec2;
    m_localCenterB: b2Vec2;
    m_invMassA: number;
    m_invMassB: number;
    m_invIA: number;
    m_invIB: number;
    m_axis: b2Vec2;
    m_perp: b2Vec2;
    m_s1: number;
    m_s2: number;
    m_a1: number;
    m_a2: number;
    m_K: b2Mat22;
    m_K3: b2Mat33;
    m_K2: b2Mat22;
    m_translation: number;
    m_axialMass: number;
    m_qA: b2Rot;
    m_qB: b2Rot;
    m_lalcA: b2Vec2;
    m_lalcB: b2Vec2;
    m_rA: b2Vec2;
    m_rB: 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;
    GetLocalAnchorA(): b2Vec2;
    GetLocalAnchorB(): b2Vec2;
    GetLocalAxisA(): b2Vec2;
    GetReferenceAngle(): any;
    GetJointTranslation(): number;
    GetJointSpeed(): number;
    IsLimitEnabled(): any;
    EnableLimit(flag: any): void;
    GetLowerLimit(): any;
    GetUpperLimit(): any;
    SetLimits(lower: any, upper: any): void;
    IsMotorEnabled(): any;
    EnableMotor(flag: any): void;
    SetMotorSpeed(speed: any): void;
    GetMotorSpeed(): any;
    SetMaxMotorForce(force: any): void;
    GetMaxMotorForce(): any;
    GetMotorForce(inv_dt: any): number;
    Dump(log: any): void;
    Draw(draw: any): void;
}
export namespace b2PrismaticJoint {
    const InitVelocityConstraints_s_d: b2Vec2;
    const InitVelocityConstraints_s_P: b2Vec2;
    const SolveVelocityConstraints_s_P: b2Vec2;
    const SolveVelocityConstraints_s_df: b2Vec2;
    const SolvePositionConstraints_s_d: b2Vec2;
    const SolvePositionConstraints_s_impulse: b2Vec3;
    const SolvePositionConstraints_s_impulse1: b2Vec2;
    const SolvePositionConstraints_s_P: b2Vec2;
    const GetJointTranslation_s_pA: b2Vec2;
    const GetJointTranslation_s_pB: b2Vec2;
    const GetJointTranslation_s_d: b2Vec2;
    const GetJointTranslation_s_axis: 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_c5: b2Color;
    const Draw_s_lower: b2Vec2;
    const Draw_s_upper: b2Vec2;
    const Draw_s_perp: b2Vec2;
}
import { b2JointDef } from "./b2_joint.js";
import { b2Vec2 } from "../common/b2_math.js";
import { b2Joint } from "./b2_joint.js";
import { b2Mat22 } from "../common/b2_math.js";
import { b2Mat33 } from "../common/b2_math.js";
import { b2Rot } from "../common/b2_math.js";
import { b2Vec3 } from "../common/b2_math.js";
import { b2Color } from "../common/b2_draw.js";
