import { mat3, vec2 } from 'gl-matrix'; import { Collider } from '../cd'; import { Contact } from './joint'; import { BodyInterface, JointInterface } from './types'; import { World } from './world'; export declare class Body implements BodyInterface { readonly id: number; readonly world: World; readonly continuous: boolean; omega: number; angle: number; collider: Collider; bodyIndex: number; islandId: number; readonly joints: Set; readonly contacts: Set; readonly solverConstraints: number[]; private readonly _position; private readonly _velocity; private readonly _force; private _torque; private _mass; private _invMass; private _invInertia; private _inertia; private _isStatic; private _isSleeping; private _sleepTimer; private readonly _transform; private readonly _invTransform; constructor(id: number, world: World, continuous: boolean); get velocity(): Readonly; get force(): Readonly; get torque(): number; get invMass(): number; get mass(): number; get invInertia(): number; get inertia(): number; get isStatic(): boolean; get isSleeping(): boolean; get transform(): Readonly; get invTransform(): Readonly; get position(): Readonly; set position(position: Readonly); set velocity(velocity: Readonly); set force(force: Readonly); set torque(torque: number); set mass(mass: number); set inertia(inertia: number); addJoint(joint: JointInterface): void; removeJoint(joint: JointInterface): void; addContact(contact: Contact): void; removeContact(contact: Contact): void; updateTransform(): void; applyForce(force: Readonly, point?: Readonly): void; clearForces(): void; toLocalPoint(out: vec2, global: Readonly): vec2; toGlobalPoint(out: vec2, local: Readonly): vec2; tick(dt: number): void; private awake; private fallAsleep; }