import type RAPIER from '@dimforge/rapier3d-compat'; import type { BodyDescriptor, BodyState, CollisionEventData, ConstraintDescriptor, ConstraintUpdates, Vec3, Quat, InputAction, ShapeCastRequest, ShapeCastResponse, ShapeProximityRequest, ShapeProximityResponse, PointProximityRequest, PointProximityResponse } from '@rapierphysicsplugin/shared'; export declare class PhysicsWorld { private ctx; constructor(rapier: typeof RAPIER, gravity?: Vec3); addBody(descriptor: BodyDescriptor): string; removeBody(id: string): void; applyForce(id: string, force: Vec3, point?: Vec3): void; applyImpulse(id: string, impulse: Vec3, point?: Vec3): void; setBodyVelocity(id: string, linVel: Vec3, angVel?: Vec3): void; setBodyPosition(id: string, position: Vec3): void; setBodyRotation(id: string, rotation: Quat): void; applyInput(action: InputAction): void; addConstraint(descriptor: ConstraintDescriptor): string; removeConstraint(id: string): void; updateConstraint(id: string, updates: ConstraintUpdates): void; hasConstraint(id: string): boolean; step(): CollisionEventData[]; getSnapshot(skipSleeping?: boolean): BodyState[]; getBodyState(id: string): BodyState | null; isBodySleeping(id: string): boolean; loadState(bodies: BodyDescriptor[]): void; reset(bodies: BodyDescriptor[], constraints?: ConstraintDescriptor[]): void; hasBody(id: string): boolean; get bodyCount(): number; shapeCast(request: ShapeCastRequest): ShapeCastResponse; shapeProximity(request: ShapeProximityRequest): ShapeProximityResponse; pointProximity(request: PointProximityRequest): PointProximityResponse; destroy(): void; } //# sourceMappingURL=physics-world.d.ts.map