/** Declaration file generated by dts-gen */
declare module OIMO {
    class BallAndSocketJoint {
        constructor(t: any);

        postSolve(): void;

        preSolve(t: any, i: any): void;

        solve(): void;

    }

    class Box {
        constructor(t: any, i: any, s: any, h: any);

        calculateMassInfo(t: any): void;

        updateProxy(): void;

    }

    class Cylinder {
        constructor(t: any, i: any, s: any);

        calculateMassInfo(t: any): void;

        updateProxy(): void;

    }

    class DistanceJoint {
        constructor(t: any, i: any, s: any);

        postSolve(): void;

        preSolve(t: any, i: any): void;

        solve(): void;

    }

    class HingeJoint {
        constructor(t: any, i: any, s: any);

        postSolve(): void;

        preSolve(t: any, i: any): void;

        solve(): void;

    }

    class InfoDisplay {
        constructor(t: any);

        calcBroadPhase(): void;

        calcEnd(): void;

        calcNarrowPhase(): void;

        resetMax(): void;

        setTime(t: any): void;

        show(): any;

        toArray(): any;

        upfps(): void;

    }

    class LimitMotor {
        constructor(t: any, i: any);

        setLimit(t: any, i: any): void;

        setMotor(t: any, i: any): void;

        setSpring(t: any, i: any): void;

    }

    class Mat33 {
        constructor(t: any, i: any, s: any, h: any, e: any, a: any, o: any, n: any, r: any, ...args: any[]);

        add(t: any, i: any): any;

        addEqual(t: any): any;

        addMatrixs(t: any, i: any): any;

        addOffset(t: any, i: any): any;

        clone(): any;

        copy(t: any): any;

        determinant(): any;

        fromArray(t: any, i: any): any;

        identity(): any;

        invert(t: any): any;

        multiplyMatrices(t: any, i: any, s: any): any;

        multiplyScalar(t: any): any;

        scale(t: any, i: any): any;

        scaleEqual(t: any): any;

        set(t: any, i: any, s: any, h: any, e: any, a: any, o: any, n: any, r: any): any;

        setQuat(t: any): any;

        sub(t: any, i: any): any;

        subEqual(t: any): any;

        subMatrixs(t: any, i: any): any;

        subOffset(t: any, i: any): any;

        toArray(t: any, i: any): any;

        transpose(t: any): any;

    }

    class Particle {
        constructor(t: any, i: any);

        calculateMassInfo(t: any): void;

        updateProxy(): void;

        volume(): any;

    }

    class Plane {
        constructor(t: any, i: any);

        calculateMassInfo(t: any): void;

        updateProxy(): void;

        volume(): any;

    }

    class PrismaticJoint {
        constructor(t: any, i: any, s: any);

        postSolve(): void;

        preSolve(t: any, i: any): void;

        solve(): void;

    }

    class Quat {
        constructor(t: any, i: any, s: any, h: any);

        addTime(t: any, i: any): any;

        arc(t: any, i: any): any;

        clone(t: any): any;

        conjugate(): any;

        copy(t: any): any;

        equals(t: any): any;

        fromArray(t: any, i: any): any;

        inverse(): any;

        invert(t: any): any;

        length(): any;

        lengthSq(): any;

        multiply(t: any, i: any): any;

        multiplyQuaternions(t: any, i: any): any;

        normalize(): any;

        set(t: any, i: any, s: any, h: any): any;

        setFromAxis(t: any, i: any): any;

        setFromEuler(t: any, i: any, s: any): any;

        setFromMat33(t: any): any;

        setFromUnitVectors(t: any, i: any): any;

        testDiff(t: any): any;

        toArray(t: any, i: any): void;

        toString(): any;

    }

    class RigidBody {
        constructor(t: any, i: any);
        id:number;
        name:number;
        contactLink:any;
        parent:any;
        addShape(t: any): void;

        applyImpulse(t: any, i: any): void;

        awake(): void;

        checkContact(t: any): any;

        connectMesh(t: any): void;

        dispose(): void;

        getAxis(): any;

        getPosition(): any;

        getQuaternion(): any;

        isLonely(): any;

        remove(): void;

        removeShape(t: any): void;

        resetPosition(t: any, i: any, s: any): void;

        resetQuaternion(t: any): void;

        resetRotation(t: any, i: any, s: any): void;

        rotateInertia(t: any, i: any, s: any): void;

        setParent(t: any): void;

        setPosition(t: any): void;

        setQuaternion(t: any): void;

        setRotation(t: any): void;

        setupMass(t: any, i: any): void;

        sleep(): void;

        syncShapes(): void;

        testWakeUp(): void;

        updateMesh(): void;

        updatePosition(t: any): void;

    }

    class Shape {
        constructor(t: any);

        calculateMassInfo(t: any): void;

        updateProxy(): void;

    }

    class SliderJoint {
        constructor(t: any, i: any, s: any);

        postSolve(): void;

        preSolve(t: any, i: any): void;

        solve(): void;

    }

    class Sphere {
        constructor(t: any, i: any);

        calculateMassInfo(t: any): void;

        updateProxy(): void;

        volume(): any;

    }

    class Vec3 {
        constructor(t: any, i: any, s: any);

        add(t: any, i: any): any;

        addEqual(t: any): any;

        addScaledVector(t: any, i: any): any;

        addVectors(t: any, i: any): any;

        addition(): any;

        applyMatrix3(t: any, i: any): any;

        applyQuaternion(t: any): any;

        clone(): any;

        copy(t: any): any;

        cross(t: any, i: any): any;

        crossVectors(t: any, i: any): any;

        divideScalar(t: any): any;

        dot(t: any): any;

        equals(t: any): any;

        fromArray(t: any, i: any): any;

        invert(t: any): any;

        length(): any;

        lengthSq(): any;

        multiply(t: any): any;

        multiplyScalar(t: any): any;

        negate(): any;

        normalize(): any;

        scale(t: any, i: any): any;

        scaleEqual(t: any): any;

        set(t: any, i: any, s: any): any;

        sub(t: any, i: any): any;

        subEqual(t: any): any;

        subScaledVector(t: any, i: any): any;

        subVectors(t: any, i: any): any;

        tangent(t: any): any;

        testDiff(t: any): any;

        testZero(): any;

        toArray(t: any, i: any): void;

        toString(): any;

    }

    class WheelJoint {
        constructor(t: any);

        postSolve(): void;

        preSolve(t: any, i: any): void;

        solve(): void;

    }

    class World {
        constructor(t: any);

        add(t: any): any;

        addContact(t: any, i: any): void;

        addJoint(t: any): void;

        addRigidBody(t: any): void;

        addShape(t: any): void;

        callSleep(t: any): any;

        checkContact(t: any, i: any): any;

        clear(): void;

        getByName(t: any): any;

        getContact(t: any, i: any): any;

        getInfo(): any;

        initBody(t: any, i: any): any;

        initJoint(t: any, i: any): any;

        play(): void;

        remove(t: any): void;

        removeContact(t: any): void;

        removeJoint(t: any): void;

        removeRigidBody(t: any): void;

        removeShape(t: any): void;

        setGravity(t: any): void;

        step(): void;

        stop(): void;

    }

    const AABB_PROX: number;

    const BODY_DYNAMIC: number;

    const BODY_GHOST: number;

    const BODY_KINEMATIC: number;

    const BODY_NULL: number;

    const BODY_STATIC: number;

    const BR_BOUNDING_VOLUME_TREE: number;

    const BR_BRUTE_FORCE: number;

    const BR_NULL: number;

    const BR_SWEEP_AND_PRUNE: number;

    const JOINT_BALL_AND_SOCKET: number;

    const JOINT_DISTANCE: number;

    const JOINT_HINGE: number;

    const JOINT_NULL: number;

    const JOINT_PRISMATIC: number;

    const JOINT_SLIDER: number;

    const JOINT_WHEEL: number;

    const REVISION: string;

    const SHAPE_BOX: number;

    const SHAPE_CYLINDER: number;

    const SHAPE_NULL: number;

    const SHAPE_PARTICLE: number;

    const SHAPE_PLANE: number;

    const SHAPE_SPHERE: number;

    const SHAPE_TETRA: number;

    function JointConfig(): void;

    function ShapeConfig(): void;

    function printError(t: any, i: any): void;

    namespace Math {
        const EPZ: number;

        const EPZ2: number;

        const INF: number;

        const PI: number;

        const PI270: number;

        const PI90: number;

        const TwoPI: number;

        const degtorad: number;

        const radtodeg: number;

        function abs(p0: any): any;

        function acos(p0: any): any;

        function acosClamp(t: any): any;

        function asin(p0: any): any;

        function atan2(p0: any, p1: any): any;

        function clamp(t: any, i: any, s: any): any;

        function cos(p0: any): any;

        function distance(t: any, i: any): any;

        function distanceVector(t: any, i: any): any;

        function dotVectors(t: any, i: any): any;

        function fix(t: any, i: any): any;

        function floor(p0: any): any;

        function generateUUID(): any;

        function lerp(t: any, i: any, s: any): any;

        function max(p0: any, p1: any): any;

        function min(p0: any, p1: any): any;

        function pow(p0: any, p1: any): any;

        function rand(t: any, i: any): any;

        function randInt(t: any, i: any): any;

        function random(): any;

        function round(p0: any): any;

        function sin(p0: any): any;

        function sqrt(p0: any): any;

    }
}

