import { b2RevoluteJointDef } from '../Joints';
import { b2Joint } from './b2Joint';
import { b2Vec2, b2Mat22 } from '../../Common/Math';
import { b2TimeStep } from '../b2TimeStep';
export declare class b2RevoluteJoint extends b2Joint {
    GetAnchor1(): b2Vec2;
    GetAnchor2(): b2Vec2;
    GetReactionForce(): b2Vec2;
    GetReactionTorque(): number;
    GetJointAngle(): number;
    GetJointSpeed(): number;
    IsLimitEnabled(): boolean;
    EnableLimit(flag: boolean): void;
    GetLowerLimit(): number;
    GetUpperLimit(): number;
    SetLimits(lower: number, upper: number): void;
    IsMotorEnabled(): boolean;
    EnableMotor(flag: boolean): void;
    SetMotorSpeed(speed: number): void;
    GetMotorSpeed(): number;
    SetMaxMotorTorque(torque: number): void;
    GetMotorTorque(): number;
    constructor(def: b2RevoluteJointDef);
    private K;
    private K1;
    private K2;
    private K3;
    InitVelocityConstraints(step: b2TimeStep): void;
    SolveVelocityConstraints(step: b2TimeStep): void;
    static tImpulse: b2Vec2;
    SolvePositionConstraints(): boolean;
    m_localAnchor1: b2Vec2;
    m_localAnchor2: b2Vec2;
    m_pivotForce: b2Vec2;
    m_motorForce: number;
    m_limitForce: number;
    m_limitPositionImpulse: number;
    m_pivotMass: b2Mat22;
    m_motorMass: number;
    m_enableMotor: boolean;
    m_maxMotorTorque: number;
    m_motorSpeed: number;
    m_enableLimit: boolean;
    m_referenceAngle: number;
    m_lowerAngle: number;
    m_upperAngle: number;
    m_limitState: number /** int */;
}
//# sourceMappingURL=b2RevoluteJoint.d.ts.map