import { CollisionDetector, ColliderDef, ColliderInterface, PairsRegistryInterface } from '../cd'; import { Events } from '../events'; import { Settings } from '../settings'; import { Clock, EventDispatcher, IdManager } from '../utils'; import { DistanceJointDef, PrismaticJointDef, RevoluteJointDef, WeldJointDef, WheelJointDef, SpringDef, MouseJointDef, MotorDef } from './joint'; import { IslandsGeneratorInterface, BodyDef, BodyInterface, WorldInterface, JointInterface } from './types'; export declare class World implements WorldInterface { readonly settings: Readonly; private readonly islandGenerator; private readonly registry; private readonly detector; private readonly clock; private readonly idManager; private readonly dispatcher; private readonly bodies; private readonly bodyForce; constructor(settings: Readonly, islandGenerator: IslandsGeneratorInterface, registry: PairsRegistryInterface, detector: CollisionDetector, clock: Clock, idManager: IdManager, dispatcher: EventDispatcher); createBody(bodyDef?: BodyDef): BodyInterface; destroyBody(body: BodyInterface): void; getBody(id: number): BodyInterface; addDistanceJoint(jointDef: DistanceJointDef): JointInterface; addPrismaticJoint(jointDef: PrismaticJointDef): JointInterface; addRevoluteJoint(jointDef: RevoluteJointDef): JointInterface; addWeldJoint(jointDef: WeldJointDef): JointInterface; addWheelJonit(jointDef: WheelJointDef): JointInterface; addSpring(springDef: SpringDef): JointInterface; addMouseJoint(jointDef: MouseJointDef): JointInterface; addMotor(motorDef: MotorDef): JointInterface; addCollider(colliderDef: ColliderDef): ColliderInterface; removeCollider(collider: ColliderInterface): void; removeJoint(joint: JointInterface): void; clear(): void; on(eventName: keyof typeof Events, handler: T): void; off(eventName: keyof typeof Events, handler: T): void; dispatch(eventName: keyof typeof Events, ...payload: unknown[]): void; step(dt: number): void; [Symbol.iterator](): Iterator; private applyGlobalForces; private clearForces; private advance; private detectCollisions; }