///
///
///
///
///
declare namespace cp {
export class Body {
p: Vect;
v: Vect;
f: Vect;
a: number;
w: number;
t: number;
rot: Vect;
vLimit: number;
wLimit: number;
vBias: Vect;
wBias: number;
space: Space;
shapeList: Shape[];
arbiterList: Arbiter;
constraintList: Constraint;
nodeRoot: Body;
nodeNext: Body;
nodeIdleTime: number;
mass: number;
massInv: number;
inertia: number;
inertiaInv: number;
data: any;
constructor(m: number, i: number);
getPos(): Vect;
getVel(): Vect;
getAngVel(): number;
isSleeping(): boolean;
isStatic(): boolean;
isRogue(): boolean;
setMass(mass: number): void;
setMoment(moment: number): void;
addShape(shape: Shape): void;
removeShape(shape: Shape): void;
removeConstraint(constraint: Constraint): void;
setPos(pos: Vect): void;
setVel(vel: Vect): void;
setAngVel(w: number): void;
setAngleInternal(angle: number): void;
setAngle(angle: number): void;
velocity_func(gravity: Vect, damping: number, dt: number): void;
position_func(dt: number): void;
resetForces(): void;
applyForce(force: Vect, r: Vect): void;
applyImpulse(impulse: Vect, r: Vect): void;
getVelAtPoint(r: Vect): Vect;
getVelAtWorldPoint(point: Vect): Vect;
getVelAtLocalPoint(point: Vect): Vect;
eachShape(func: (shape: Shape) => void): void;
eachConstraint(func: (constraint: Constraint) => void): void;
eachArbiter(func: (arbiter: Arbiter) => void): void;
local2World(v: Vect): Vect;
world2Local(v: Vect): Vect;
kineticEnergy(): number;
sanityCheck(): void;
activate(): void;
activateStatic(filter: Shape): void;
pushArbiter(arb: Arbiter): void;
sleep(): void;
sleepWithGroup(group: Body): void;
}
export function createStaticBody(): Body;
}